Difference between revisions of "On-Boarding New Projects"

From Lingoport Wiki
Jump to: navigation, search
(Copy a Project in the Automation Tab)
(Run Globalyzer Lite Build Step)
(28 intermediate revisions by 2 users not shown)
Line 1: Line 1:
This quick reference provides the main points to on-board a Globalyzer Lite and/or an LRM project using Jenkins.
+
This quick reference provides the main points to on-board a Globalyzer Lite and/or an LRM project using Jenkins once the Continuous G11n System is installed and configured. For in-depth details about on-boarding, please see: [[On-Boarding New Projects]].
  +
 
= Copy a Project in the Automation Tab =
 
= 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.
+
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
+
* Go to the '''Automation''' tab
 
* Copy a project:
 
* Copy a project:
** Click on New Item
+
** Click on '''New Item'''
** Enter a name in the form <Group_Name>.<Project_Name> in the <code>Enter an item name</code> text field at the top, something like <code>Acme.Widget</code> if you have a licensed group called <code>Acme</code>. 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 a name in the form '''<Group_Name>.<Project_Name>''' like <code>Acme.Widget</code>in the <code>Enter an item name</code> text field at the top. See [[On Boarding the Group License Expiration Job]] for more on the Group.
 
** Enter the name of an existing Automation or Template Jenkins job in the <code>Copy from</code> text field at the bottom. If you copy from a Template, you have three possibilities:
 
** Enter the name of an existing Automation or Template Jenkins job in the <code>Copy from</code> 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
+
*** <u>Lingoport.SampleLite</u>: 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
+
*** <u>Lingoport.SampleLRM</u>: an LRM only project that analyzes resource files and their translation status
*** Lingoport.SampleLITELRM: a Globalyzer Lite and LRM project for both.
+
*** <u>Lingoport.SampleLITELRM</u>: a Globalyzer Lite and LRM project for both.
** Enable the Jenkins job
+
** Verify the following:
  +
*** Project URL
** Save the initial Jenkins job
 
  +
*** Repository URL (may be the same as the Project URL) and the credentials
  +
*** The Branch Specifier if not 'Master'
  +
** '''Save'''
  +
** '''Enable''' the new <Group_Name>.<Project_Name> Jenkins job
  +
** To run, select '''Build Now'''
  +
** If successful, the new <Group_Name>.<Project_Name> will be on the Lingoport Dashboard
   
 
= General Configuration =
 
= General Configuration =
 
To modify some of the configuration, click on the Configure button for the Jenkins job
 
To modify some of the configuration, click on the Configure button for the Jenkins job
  +
==
 
  +
* Description: Enter the description for this Jenkins job.
= The Globalyzer part =
 
  +
When you copied a Globalyzer Lite or a Globalyer Lite and LRM project, one section will
 
  +
* GitHub project (Optional):If you use GitHub, copy the GitHub project URL in this box.
  +
  +
* <b>Throttle</b> 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 <code>Build periodically</code> option
  +
  +
= Run Globalyzer Lite Build Step=
  +
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 Globalyzer Workbench and pushed in the repo under the <code>lingoport</code> 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 <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.
  +
  +
= Run LRM Build Step =
  +
This section describes the major points of the modifications when the Jenkins project was copied from another LRM Jenins project.
  +
* Locales
  +
** Default locale: this is typically the locale suffix for the files to be translated. Use underscores to separate language, country, and variant (for example en, en_US)
  +
** Pseudo Locale: use a locale your application can use but is not part of a potential target market. 'eo' is recommended.
  +
** Track Back Locale:use a locale your application can use but is not part of a potential target market. 'br' is recommended.
  +
** Target Locales: Put one target locale per line with underscores (for instance fr_FR, pt_BR)
  +
* Resource File Extensions: Check the <code>Lingoport.SampleLRM</code> Template for default configurations.
  +
** Use Pattern on Default Locale (the locale to translate from) :
  +
*** Check this box if the resource files to be translated has a locale suffix (resources_en.properties)
  +
*** Un-check this box if the resource files to be translated do not have a locale suffix (resources.resx)
  +
** File Location Pattern: the directories containing the resource files are named with a locale suffix
  +
** Use Location Pattern on Default Locale: the directories containing the resource files to be translated are named with locale suffix
  +
* Notifications: Add at least one line per text field; Each line contains one email address (a group email address is typical)
  +
  +
= Update Dashboard Build Step =
  +
Add this Build Step so the Dashboard gets updated
  +
  +
= Pseudo-Localize Build Step (Optional) =
  +
For LRM projects, this build step will pseudo-localize the files to be translated and commit/push them to the repository/branch.
  +
  +
= Optional Jobs to On-Board =
  +
* Nightly: For a nightly update of the Dashboard. See [[On Boarding the Nightly Job]]
  +
* Prep Kit: To call via script the Dashboard Update. See [[On Boarding the Prep Kit Job]]

Revision as of 21:35, 12 June 2018

This quick reference provides the main points to on-board a Globalyzer Lite and/or an LRM project using Jenkins once the Continuous G11n System is installed and configured. For in-depth details about on-boarding, please see: On-Boarding New Projects.

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> like Acme.Widgetin the Enter an item name text field at the top. See On Boarding the Group License Expiration Job for more on the Group.
    • 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.
    • Verify the following:
      • Project URL
      • Repository URL (may be the same as the Project URL) and the credentials
      • The Branch Specifier if not 'Master'
    • Save
    • Enable the new <Group_Name>.<Project_Name> Jenkins job
    • To run, select Build Now
    • If successful, the new <Group_Name>.<Project_Name> will be on the Lingoport Dashboard

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.
  • 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

Run Globalyzer Lite Build Step

The Globalyzer Lite relies on a location of the Lite Project Definition file, LiteProjectDefinition.xml. By default, this file is created in the Globalyzer 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.

Run LRM Build Step

This section describes the major points of the modifications when the Jenkins project was copied from another LRM Jenins project.

  • Locales
    • Default locale: this is typically the locale suffix for the files to be translated. Use underscores to separate language, country, and variant (for example en, en_US)
    • Pseudo Locale: use a locale your application can use but is not part of a potential target market. 'eo' is recommended.
    • Track Back Locale:use a locale your application can use but is not part of a potential target market. 'br' is recommended.
    • Target Locales: Put one target locale per line with underscores (for instance fr_FR, pt_BR)
  • Resource File Extensions: Check the Lingoport.SampleLRM Template for default configurations.
    • Use Pattern on Default Locale (the locale to translate from) :
      • Check this box if the resource files to be translated has a locale suffix (resources_en.properties)
      • Un-check this box if the resource files to be translated do not have a locale suffix (resources.resx)
    • File Location Pattern: the directories containing the resource files are named with a locale suffix
    • Use Location Pattern on Default Locale: the directories containing the resource files to be translated are named with locale suffix
  • Notifications: Add at least one line per text field; Each line contains one email address (a group email address is typical)

Update Dashboard Build Step

Add this Build Step so the Dashboard gets updated

Pseudo-Localize Build Step (Optional)

For LRM projects, this build step will pseudo-localize the files to be translated and commit/push them to the repository/branch.

Optional Jobs to On-Board