Difference between revisions of "On-Boarding New Projects"
(→Globalyzer Lite Build Step) |
|||
(45 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
+ | '''[OBSOLETE]''' |
||
− | 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 <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 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 |
||
− | *** 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. |
||
− | == <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. |
||
+ | '''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 [[Terms_and_Definitions#AutomationJob|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 [[Terms_and_Definitions#TMS|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. |
||
− | == 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 |
||
+ | [[File:JenkinsWWE.png|800px]] |
||
− | = 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 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) |
||
+ | After the Jenkins job completes, the Lingoport Dashboard is populated and for this project it looks like: |
||
− | = Update Dashboard = |
||
− | Add this Build Step so the Dashboard gets updated |
||
+ | [[File:DashboardWWE.png|800px]] |
||
− | = Pseudo-Localize (Optional) = |
||
+ | * This job is using both Localyzer to manage resource files and Globalyzer to scan the code for other issues. |
||
− | For LRM projects, this build step will pseudo-localize the files to be translated and commit/push them to the repository/branch. |
||
+ | * 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 Localyzer and Globalyzer are licensed and Localyzer can have up to 1000 projects in its CET group. |
||
+ | |||
+ | |||
+ | *[[On Boarding Overview | On Boarding Overview (an introduction to Jenkins and Lingoport)]] |
||
+ | *[[On Boarding a Localyzer Project]] |
||
+ | *[[On Boarding a Globalyzer Project]] |
||
+ | *[[On Boarding a project with both LRM and Globalyzer]] |
||
+ | |||
+ | Once Localyzer jobs have been on boarded, there are a couple of other jobs that can be set up. |
||
+ | *[[On Boarding the Nightly Job]] |
||
+ | *[[On Boarding the Prep Kit Job]] |
Latest revision as of 17:21, 20 March 2024
[OBSOLETE]
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 Localyzer 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 Localyzer and Globalyzer are licensed and Localyzer can have up to 1000 projects in its CET group.
- On Boarding Overview (an introduction to Jenkins and Lingoport)
- On Boarding a Localyzer Project
- On Boarding a Globalyzer Project
- On Boarding a project with both LRM and Globalyzer
Once Localyzer jobs have been on boarded, there are a couple of other jobs that can be set up.