This section describes the tool chains used in the ONOS CI process.
|Table of Contents|
ONOS runs a continuous integration (CI) job whenever a change set is merged into the master branch and whenever a gerrit Gerrit review request or rebase is done. The The CI job will do a build from scratch, run all of the unit tests and run static analysis tools to check that the submitted change follows the ONOS coding standards.toc
Continuous Integration Tool Chain
ONOS uses the Jenkins system for running and monitoring continuous integration (CI) jobs. When a change is made, Jenkins starts a job to build and test the source tree. Jenkins also launches a nightly build for SonarQube. You can monitor the status of Jenkins jobs using the Jenkins console at jenkins.onosproject.org.
SonarQube integrates tools to check unit test coverage, java source code compliance with coding standards, static detection of coding errors like possible null pointer dereferences, and detection of blocks of code that are duplicated. These tools are integrated into one shared web UI and the results are tracked to allow tracking the state of our source code over time.