LRM Jenkins Jobs
Jobs are organized under views (or tabs). If you have not setup the basic infrastructure jobs or the tabs, run the scripts to do so.
- 1 Execute create-views.sh and create-lingoport-jobs.sh
- 2 LRM Jobs
- 3 Infrastructure Tab Jobs
This way to setup involves downloading the
jenkins-cli.jar file, setting some variables, and running the script.
If you have not already done so:
- Navigate to your Jenkins URL followed by cli, for example
- Click on the download link and copy the downloaded jenkins-cli.jar to a location you have access to.
- From the '/cli' page, click on the login command in the list. An example is given on how to login Jenkins using jenkins-cli.jar. This will be useful soon.
Setup Environment Variables
If you have not already done so: Two global variables need to be setup:
- Set JENKINS_CLI to the absolute location of the downloaded jenkins-cli.jar file, for example
- Set JENKINS_URL to the URL for Jenkins, for example
If you have not already done so: The login command example you saw above should help you login with an account with administrative privileges. It should look like:
java -jar $JENKINS_CLI -s $JENKINS_URL login --username admin --password adminPassword
Go to the directory where the script is located and execute the script. For example:
Go to the directory where the next script is located and execute the script. For example:
You may be able to do so with a browser URL such as
Verify the Views and Jobs have been Created
- Navigate to the Jenkins URL, such as
http://localhost:8080/: You should see new views (tabs) and jobs in those tabs.
LRM Jenkins Jobs are setup under tabs:
- The 0 - Infrastructure tab contains Jenkins job which run independently of particular projects.
- The 1 - Automation tab contains on-boarded jobs which generate the status of the project and pushes it to the dashboard, and pseudo-localizes resource files if necessary. These jobs tend to run whenever files are pushed to the repository for the project.
- The 2 - Nightlies tab contains on-boarded jobs which run every day or every night and provide an update to the dashboard and an email to a set of recipients based on the configured frequency.
- The 3- PrepKit tab contains on-boarded jobs which are triggered by a human intervention to send the kits for translation based on the configured translation endpoint.
We focus on the infrastructure jobs
Infrastructure Tab Jobs
- checksend: This job sweeps through unsent prep kits and tries to send them again to the configured translation endpoint, such as Lingotek, FTP, or WorldServer. It is best to keep this job triggered by a manual click so that the error is first corrected (translation group network access or authorization, etc.) before trying to resend the prep kit.
- debug: This job is a freestyle type of job setup to enter any kind of command to debug the installation or anything else in the system.
- LingotekCallback: (
lingotek_webhook.shThis job is invoked by Lingotek upon the last step of the workflow. Files are downloaded to the staging area and ready to be imported. This needs to be a
Parameterized Buildwith the following
String Parameters(default NOTSET):
- (Build Triggered Remotely:) LINGOSQUARE
- LingotekCheckCallback: (
lingotek_checkcallbacks.sh) This job makes sure that files which needed to be downloaded from Lingotek have been downloaded and moved to the staging area
- LingotekImportKit: (
lingotek_import.shThis job runs based on a frequency (every 2 hours) and runs the import for Lingotek files stashed under the staging area.
- FTPDownload: This job makes sure that files which needed to be downloaded from FTP 'in' have been downloaded and moved to the staging area and are ready to be imported. It runs on a regular (every hour) schedule. It calls the
- FTPImport: This job runs based on a frequency (every 2 hours) and runs the import for FTP files stashed under the staging area. It calls the
When using the Worldserver protocol in the config_l10n_vendor.properties file, this job is invoked to download any zip file located in the expected incoming folder. The files are moved from the expected incoming folder into the download staging area.
This job moves any files that are in from the download staging area into the importkit staging area.
This job runs after files have been downloaded using WSDownload. It checks the translated files for LRM correctness and pushes the translated files if they pass the tests. If they fail the tests, the files are not pushed into the corresponding repository at the correct location. A Notification email is sent in either case, success or failure
- If your projects are under Git, follow those additional instructions: Git
- If your projects are under SVN, follow these additional instructions: SVN
The overall system is setup and configured. You are now ready to on-board your first project. The first project will prepare for all subsequent LRM projects. On-Boarding New Projects