This page details the timeline and process around how OPNFV might transition to a new CI provider in 2020.
Gitlab Discovery and R&D
Create a PoC for running CI in GitLab to validate external hardware and investigate features and functionality.
Recommendation presented to the TSC for their approval
GitLab Policy and Secrets
Research into best practices for configuring GitLab to match current project structure and committer rights, implementation of those best practices, and enrollment of secrets/credentials for external services (Dockerhub, etc.).
GitLab Group Enrollment
Setup project groups and invite members to respective teams
Document development process, CI, and project configurations - Documents needed for "Training for GitLab-CI"
Configure continuous mirroring of Gerrit to GitLab to make code available while development is still happening in Gerrit
Convert project jobs from JJB to GitLab-CI and validate deployments using Lab-as-a-service resources
Governance & Management Job Conversion
Convert self release and INFO.yaml file jobs to GitLab-CI
EasyCLA support for GitLab is planned for Q4 of 2020. See this ticket for tracking updates.
Switch hardware over from Jenkins JNLP to GitLab Runner (as projects transition).
Training for Gitlab & GitLab-CI
Train the community on the new CI language, development and review process.
Transition from Jenkins to Gitlab-CI
Final commit in Gerrit of .gitlab-ci.yml and setting project to read-only.
- Create proof-of-concept (PoC) organization in GitLab
- While development is still happening on Gerrit:
- Import the project to the PoC organization
- Scope out the CI requirements and resources
- Develop CI by utilizing Lab-as-a-Service resources for virtual and hardware deployments
- Merge new CI configuration in Gerrit
- Enroll and configure hardware resources
- Ensure all Gerrit changes are closed
- Disable replication on Gerrit
- Set project as "read-only"