How to setup and trigger your builds¶
NOTE: THE WIKI IS WORK IN PROGRESS
the information are correct but the images are for information purpose only. the images aren't related to this project but are a good example of how the system will look
- Table of contents
- How to setup and trigger your builds
- How to monitor the status of your build
- Dynamic graphs and statistics
How to setup the environment¶
To properly work with the CI system it is first needed to checkout and setup the code from the repository.
NOTE: Before executing the code, move into the directory where you want to keep the code
mkdir my_ci_dir cd my_ci_dir git clone http://cdcvs.fnal.gov/projects/generic_ci git clone http://cdcvs.fnal.gov/projects/art_ci cd generic_ci setup -. generic_ci PATH="${PATH}:${PWD}/bin" cd ../art_ci setup -. -j art_ci
The above procedure allows to setup generic_ci and art_ci packages in the my_ci_dir directory.
Manually trigger a build¶
Once the environment is set, make sure to have a valid kerberos ticket, you can trigger an Art CI build using the trigger
command:
1. To trigger the CI build to test Art develop
branch with e19:prof
qualifier
trigger --build-delay 0 --workflow Art_CI_custom --revisions "*@develop" --quals "e19:prof+develop"NOTE: the
develop
in the qualifier is used to show it in the CI dashboard to quickly distinguish between CI builds for different code branchesby default the CI build starts after a 15 minutes delay, the option
--build-delay 0
forces the CI build to start without delay
2. To trigger the CI build with custom options
The above command uses defaults for:
- Jenkins job name
- CI code branch
- workflow name
- workflow configuration file
- platform
If needed the use can explicitly specify all of those option like in the following command:
trigger --build-delay 0 --jobname art_ci --version develop --workflow Art_CI_custom --wfcfg cfg/workflow.cfg --force-platform slf7 --revisions "*@develop" --quals "e19:prof+develop"
Furthermore, the trigger option --testmode enables a test mode that will cause the CI build to be reported on a test
instance of the CI dashboard, and the email report will be sent only to the user who triggers the CI build.
More details about trigger option are available through the -h
option:
trigger -h
How to monitor the status of your build¶
The Art_CI Web Application¶
To monitor the status of your builds into the CI system, our team created an experiment based web application to help you with your monitoring job.
The application can be found at one of the following links:
https://art-ci-history.fnal.gov/ArtCI/app/view_builds/index
https://dbweb0.fnal.gov/ArtCI/app/view_builds/index
This application offer to you all the necessary tools to monitor the status and the performance of your builds in a short and long term.
It offers a quick overview of the status of the last ten builds and offers also dynamic graphs to show the overtime performance of the different build phases.
The main page of the web application¶
The previous image shows the homepage of the Art CI web application.
This page is divided into three main sections:- The search and filter section ( on the left of the image )
- The legend section ( on the right of the image )
- The Show data section (in the middle of the image )
The search and filter section¶
The purpose of this section is to offer to the user a tool to filter the results shown in the web application.This panel allows you to:
- Show the builds up to a defined build number.
- Show the builds in a defined time range.
- Filter the builds for platform or for test suite used.
The legend section¶
This section show the association between the color of the different phases of the builds,and their status- [#] yellow -> The phase is running
- [#] gray -> The phase is pending
- [#] green -> The phase was successful
- [#] red -> The phase failed
- [#] olive green -> The phase have been skipped
The Show data section¶
This is the main section of the homepage and it's where the most important data is shown.
This section shows a table of the last ten builds executed and their corresponding information.
The table is divided into multiple columns.
The first three columns show some basic information about the CI build number, the time when the CI build started and the platform on which the CI build have been executed.
The next columns show the status of the different phases of the CI build.
Each phase is represented by a square with a bullet
- Checkout
Show the status of the checkout of the code from the repository. - Build
shows the status of the building process of the code into the CI System. - Unit test
Show the progress of the unit tests configured. - Install
Show the progress of the install process of the code into the CI System.
Dynamic graphs and statistics¶
Every bullet and the build number into the web application is clickable.
Performing a click on a bullet open a different web page that shows detailed information on the phase.