On-Boarding New Projects
On boarding is the process of creating Lingoport projects in Jenkins so that their status can be monitored in the Dashbaord.
When the Jenkins job (called the automation job) runs, it checks out the code in the repository for scanning by Globalyzer and notes changes in the resource files that need to be sent to the translation management systems. For example for a project called CET.WorldWindExplorer, in Jenkins, the project is created and the Jenkins job runs successfully, as noted by the blue sphere.
After the Jenkins job completes, the Lingoport Dashboard is populated and for this project it looks like:
- This job is using both LRM to manage resource files and Globalyzer to scan the code for other issues.
- There are 4 target locales and they are 100% translated.
- There was 1 file with 2934 words that was translated into the four languages.
- The Globalyzer scan found a number of internationalization issues that will need to be addressed.
- Both LRM and Globalyzer are licensed and LRM can have up to 1000 projects in its CET group.
- On Boarding Overview (and introduction to Jenkins and Lingoport)
- Before On-Boarding a Project
- On Boarding the Automation Job
- On Boarding the Nightly Job
- On Boarding the Prep Kit Job
Quick On Boarding projects reference
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.Widget
in theEnter 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
- Use Pattern on Default Locale (the locale to translate from) :
- 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.
IQA Instrument Build Step (Optional)
For LRM projects, this build step will create instrumented resource files based on the base and target resource files. A valid InContext license is required. See LRM Instrumentation for more information.
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
On-boarding LRM projects is the process of creating the projects in LRM and the jobs in Jenkins for automation.
- On Boarding Overview (and introduction to Jenkins and Lingoport)
- Before On-Boarding a Project
- On Boarding the Automation Job
- On Boarding the Nightly Job
- On Boarding the Prep Kit Job
Note: For a shorter version of Git projects on-boarding, see Quick On-Boarding Reference.