CI/CD
Important
Integration team deals with 2 different CI/CD systems.
Jenkins CI/CD, CI managed by LF IT and CD by Integration team
GitLab-CI managed by Integration team
Continuous Integration
The CI part provides the following features:
Repository verification (format of the INFO.yaml)
Patchset verification thanks to json/yaml/python/go/rst/md linters. These Jenkins verification jobs are hosted in the ci-management repository. They can vote +1/-1 on patchset submission. Integration team systematically enables linters on any new repository
Docker build: Integration team builds testsuite dockers and xtesting dockers. These dockers are built then pushed to Nexus through a jjb also hosted in the ci-management repository.
The different verification chains are defined in https://jenkins.onap.org/:
testsuite: https://jenkins.onap.org/view/testsuite/
integration: https://jenkins.onap.org/view/integration/
integration-terragrunt: https://jenkins.onap.org/view/integration-terragrunt/
testsuite-robot-utils: https://jenkins.onap.org/view/testsuite-robot-utils/
The Jenkins jobs (jjb) are hosted in https://git.onap.org/ci-management/.
Continuous Deployment
GitLab CD
This CD is leveraging public gitlab-ci mechanism and used to deploy several ONAP labs:
Daily Master: daily run using OOM Master
Weekly Master: run once a week with longer tests
Gating: run on OOM, clamp or SO patchset submission. It means a full ONAP deployment on demand based on new patchset declared in gerrit.
See Integration CI guideline for details.