Basic CI Services
- All CI services are run and maintained by the Linux Foundation
- The basic layout and operation of services is similar to other Linux Foundation-run sites (e.g. onap.org, acumos.org, etc.)
- The following services are provided:
- All services use HTTPS; in addition, Gerrit also allows ssh
A Linux Foundation ID is required for all services (identity.linuxfoundation.org)
New Projects
- The PTL reachs out to the CI/Blueprint Validation Lab sub-committee to create project under Gerrit and in other Linux Foundation infrastructure. This includes VMs or community lab share they may need.
- The CI/Validation sub-committee approves the request and assists the PTL to access the resources.
- PTL coordinates with the project team to start the development.
- Projects have a list of committers who can put code into the projects; this needs to be given to LF to assign to your LF account.
- We recommend projects be named as such: <blueprint-name>_<subproject-name>, so that different blueprints can be easily discerned in Gerrit.
- For new Projects: the CI/Blueprint Validation Lab sub-committee sends an email to helpdesk@akraino.org with name of project (lower case) and list of committers.
- Documentation in wiki generally refers to the latest master branch code (may be overridden by documentation subcommittee)
CI Process - Gerrit
CI Process - Jenkins
- Jenkins jobs are defined by Jenkins Job Builder (JJB) YAML files. Jobs are written as JJB templates, on a per-project basis.
- Jenkins jobs are primarily defined by Linux Foundation JJB code; although this is extensible.
- All Jenkins jobs are maintained in the ci-management project (https://gerrit.akraino.org/r/#/admin/projects/ci-management)
- LF personnel code review/approve all changes to the ci-management project
- More details are available here:
- The Jenkins Sandbox (https://jenkins.akraino.org/sandbox/) is available to do limited testing of jobs (without Nexus). This does not require LF approval, so it is a way to test out new JJB templates.
CI Process - Nexus
CI Process - Docker multiarch support