Difference between revisions of "On-Boarding New Projects"

From Lingoport Wiki
Jump to: navigation, search
(2 intermediate revisions by one other user not shown)
Line 18: Line 18:
 
*[[On Boarding a Globalyzer Project]]
 
*[[On Boarding a Globalyzer Project]]
 
*[[On Boarding a project with both LRM and Globalyzer]]
 
*[[On Boarding a project with both LRM and Globalyzer]]
  +
*[[Before On-Boarding]] a Project (remove this)
 
  +
Once LRM jobs have been on boarded, there are a couple of other jobs that can be set up.
*[[On Boarding the Automation Job]] (remove this)
 
 
*[[On Boarding the Nightly Job]]
 
*[[On Boarding the Nightly Job]]
 
*[[On Boarding the Prep Kit 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 <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:
 
*** <u>Lingoport.SampleLite</u>: a Globalyzer Lite only project that scans code for i18n issues
 
*** <u>Lingoport.SampleLRM</u>: an LRM only project that analyzes resource files and their translation status
 
*** <u>Lingoport.SampleLITELRM</u>: 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.
 
 
* <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.
 
 
== 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_Commands_Reference#Create_Instrumented_files|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]]
 

Revision as of 21:50, 13 December 2019

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.

JenkinsWWE.png


After the Jenkins job completes, the Lingoport Dashboard is populated and for this project it looks like:

DashboardWWE.png

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


Once LRM jobs have been on boarded, there are a couple of other jobs that can be set up.