Difference between revisions of "Localyzer Jenkins Jobs"

From Lingoport Wiki
Jump to: navigation, search
(Next Steps)
(Next Steps)
Line 73: Line 73:
 
* If your projects are under Git, follow those additional instructions: [[Git]]
 
* If your projects are under Git, follow those additional instructions: [[Git]]
 
* If your projects are under SVN, follow these additional instructions: [[SVN]]
 
* 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]]

Revision as of 19:32, 24 September 2015

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.

Execute create-views.sh and create-lingoport-jobs.sh

This way to setup involves downloading the jenkins-cli.jar file, setting some variables, and running the script. (Note: this is available in LRM 2.2)

Download jenkins-cli.jar

If you have not already done so:

  • Navigate to your Jenkins URL followed by cli, for example http://localhost:8080/cli
  • Click on the download link and copy the downloaded jenkins-cli.jar to a location you have access to
  • Click on the Login command: 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 export JENKINS_CLI=/home/jenkins/jenkins-cli.jar
  • Set JENKINS_URL to the URL for Jenkins, for example export JENKINS_URL=http://locahost:8080/

Login using jenkins-cli.jar

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

Execute the create-views.sh and create-lingoport-jobs.sh

Go to the directory where the script is located and execute the script. For example:

  • cd /home/jenkins/lingoport/lrm-server-2.2/jenkins/views
  • ./create-views.sh

Go to the directory where the next script is located and execute the script. For example:

  • cd /home/jenkins/lingoport/lrm-server-2.2/jenkins/jobs
  • ./create-lingoport.jobs.sh


Restart Jenkins

You may be able to do so with a browser URL such as http://localhost:8080/restart

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 Jobs

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.

Lingotek Jobs

  • 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 Build with the following String Parameters (default NOTSET):

    • project_id
    • document_id
    • locale_code
    • locale
    • progress
    • type
    • complete
    • (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.

FTP Jobs

  • 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 ftp_download.sh script.
  • 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 ftp_import.sh script.

WorldServer Jobs

Next Steps

  • 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