Flow and Jobs

From Lingoport Wiki
Revision as of 17:59, 8 April 2015 by Olibouban (talk | contribs)
Jump to: navigation, search

Four tabs organize the different jobs on Jenkins.


Jenkins LRM Tabs.jpg


Infrastructure

Those jobs are common to all on-boarded projects and need to be set up once during installation and configuration.

Automation

One Jenkins automation job is on-boarded for each repository project. The Jenkins jobs calls job_automate.sh. The Jenkins job name is composed of the group name and the project name in the form <group_name>.<project_name>.

The following steps are taken:

  • The repository files are checked out anew (not update, no pull, a clean copy). Newer versions of Jenkins keep the source code under /var/lib/jenkins/workspace/<group_name>.<project_name>
  • The LRM xml reports are typically generated under ~jenkins/Lingoport_Data/Dashboard/Projects/group_name.project_name/LRMScans
  • The Dashboard is updated using the xml reports and relies on the above location for those xml generated reports.
  • The base files are pseudo-localized and committed to the repository

The automation jobs can be triggered by a Git push or an SVN commit depending on the availability of Webhooks on the repositories. If those triggers are not set, the Nightly jobs will take care of doing something similar at least once a day, so the Dashboard and the Pseudo-localization is at most a day behind the development team commits.

To make sure the Dashboard is up to date, the Automation job can be manually triggered.

Nightlies

One Jenkins automation job is on-boarded for each repository project. The Jenkins jobs calls job_nightly.sh. The Jenkins job name is composed of the group name and the project name in the form <group_name>.<project_name>-Nightly.

In addition to what the Automation jobs do, the Nightly job also sends two emails on a configured frequency.

  • A summary of the current status of the project, which is a synthesis of the Dashboard.
  • A late prep kit notification if applicable: Each prep kit sent for translation has a due date, and kits which are behind are noted.

Nightlies are triggered by a cron-like scheduler, typically every night.

Prep Kits

This is the default tab. The jobs on this tab are triggered by an actual user who must have permissions.

One Jenkins automation job is on-boarded for each repository project. The Jenkins jobs calls job_nightly.sh. The Jenkins job name is composed of the group name and the project name in the form <group_name>.<project_name>-PrepKit.