You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 5 Current »

We use Jenkins for ICN CI/CD. At the first phase, we support only one node Jenkins instead of Jenkins cluster. As we don't support that downloading packages in sandbox for now,
it means that the packages are all downloaded directely from the jenkins server. So that the jenkins server must have the same OS version with ICN nodes. Currently, it's ubuntu 18.04 with kernel version 4.15.0-45-generic.


Jenkins plugins: Gerrit-Trigger, Pipeline, Git


Environments: pod14-node1 is for test. pod14-node2 is for real CI workload.


The Gerrit-Trigger plugin watches the ICN project on Gerrit. If a patch is created/updated, Gerrit-Trigger triggers the Jenkins job to run CI test. The Jenkins job is a Pipeline job which pulls Jenkinsfile from ICN project root directory. Gerrit-Trigger votes for the patch based on the result of the test.


Deploy Jenkins Service for ICN

We setup Jenkins by a script which leverages ansible jenkins playbook. After running the ansible playbook, the Jenkins should be running. We can login with user name and password, the default is admin/admin.

The playbook does the following things:

1. Setup jenkins server by leverage jenkins role from galaxy
2. Add akraino gerrit server to gerrit list
3. Add pipeline job for ICN CI check

Jenkins Job

The Jenkins job is a pipeline job and the Jenkinsfile is located in ICN project. For the first phase, what the job does is to build the ISO image.

  • No labels