Difference between revisions of "On-Boarding New Projects"

From Lingoport Wiki
Jump to: navigation, search
(Throttle Concurrent Build)
(The Globalyzer part)
Line 33: Line 33:
 
For nightly builds, use the <code>Build periodically</code> option
 
For nightly builds, use the <code>Build periodically</code> option
   
= The Globalyzer part =
+
= Globalyzer Lite =
  +
The Globalyzer Lite relies on a location of the Lite Project Definition file, <code>LiteProjectDefinition.xml</code>. By default, this file is created in the Workbench and pushed in the repo under the <code>lingoport</code> directory. This Build Step follows the default with:
When you copied a Globalyzer Lite or a Globalyer Lite and LRM project, one section will
 
  +
* Globalyzer Project Filename: $WORKSPACE/lingoport/LiteProjectDefinition.xml
  +
You can however specify another location if the repository does not follow the default <code>LiteProjectDefinition.xml</code> location.
  +
This Build step analyzes the repository code using the Globalyzer scans defined the <code>LiteProjectDefinition.xml</code> but does not yet push the results to the Dashboard.
  +
If the project does not have an LRM part to it, the next Build Step is <code>Update dashboard</code> and you are done.

Revision as of 16:06, 18 May 2018

This quick reference provides the main points to on-board a Globalyzer Lite and/or an LRM project using Jenkins.

Copy a Project in the Automation Tab

The simplest way to on-board a new project is to simply copy an existing one and modify some attributes. The Template tab has a number of project to start with for the first time around.

  • Go to the Automation Tab
  • Copy a project:
    • Click on New Item
    • Enter a name in the form <Group_Name>.<Project_Name> in the Enter an item name text field at the top, something like Acme.Widget if you have a licensed group called Acme. See On Boarding the Group License Expiration Job for more on the Group. It's recommended to use a licensed group even for Globalyzer Lite only project in case you want to add LRM in the future.
    • Enter the name of an existing Automation or Template Jenkins job in the Copy from text field at the bottom. If you copy from a Template, you have three possibilities:
      • Lingoport.SampleLite: a Globalyzer Lite only project that scans code for i18n issues
      • Lingoport.SampleLRM: an LRM only project that analyzes resource files and their translation status
      • Lingoport.SampleLITELRM: a Globalyzer Lite and LRM project for both.
    • Enable the Jenkins job
    • Save the initial Jenkins job

General Configuration

To modify some of the configuration, click on the Configure button for the Jenkins job

Description

Enter the description for this Jenkins job or clear the description field up. This has little bearing on the actual processing of the on-boarded job.

GitHub project (Optional)

If you use GitHub, copy the GitHub project URL in this box.

Throttle Concurrent Build

This is an important part.

  • Throttle Concurrent Builds: Must be checked
  • Throttle this project as part of one or more categories: Must be checked
  • Maximum Total Concurrent Builds: 1
  • Maximum Concurrent Builds Per Node: 1
  • LRM_THROTTLE: Must be checked.

Source code Management / Git

  • Repository URL: Set the URL to your repository
  • Branches to build: Set to your branch. Note: For LRM, the files sent to translation and coming back from translation will affect this branch

Build Triggers

For nightly builds, use the Build periodically option

Globalyzer Lite

The Globalyzer Lite relies on a location of the Lite Project Definition file, LiteProjectDefinition.xml. By default, this file is created in the Workbench and pushed in the repo under the lingoport directory. This Build Step follows the default with:

  • Globalyzer Project Filename: $WORKSPACE/lingoport/LiteProjectDefinition.xml

You can however specify another location if the repository does not follow the default LiteProjectDefinition.xml location. This Build step analyzes the repository code using the Globalyzer scans defined the LiteProjectDefinition.xml but does not yet push the results to the Dashboard. If the project does not have an LRM part to it, the next Build Step is Update dashboard and you are done.