Proposal to Move to SCM/CI As A Service
DRAFT FOR USE BY ONAP INFRASTRUCTURE WORKING GROUP
Alexis, Brian Christopfe, Morgan
Background
Long term proposal from the LFN TAC is to replace Gerrit and Jenkins with a more modern tool chain and use an “As A Service” approach rather than dedicted instances.
General plan is to move to a large cloud hosted solution like GitLab/GitLab-CI
We believe reliability will be better
We calculate that costs will be lower
We believe that more modern SCM will reduce the learning curve for new developers
Approach
Prototype with one or two projects to work out the kinks in Frankfurt
Plan to move at the start of G release if approved by TSC in time.
No project moves unless we are ready
FAQ
Common Login
Common Login will be based on github accounts not Linux foundation accounts
Based on CLA requirements and general biterg.io tracking , contributors should use a corporate email based github account
Contributor License Agreements
EasyCLA supports gerrit and github right now.
gitlab is on the roadmap but not available yet.
Support ticket SUPPORT-690 created.https://jira.linuxfoundation.org/servicedesk/customer/portal/4/SUPPORT-690
Other notes:
Contributors should use corporate email based github accounts not personal email based github accounts
Biterg.io
Will need to add gitlab repositories to onap.biterg.io
May need to simply have a separate biterg.io setup so we don't double count after initial upload from gerrit to gitlab
biterg probably has a recommended procedure for this type of migration
SCM Reviews
pull request and branches vs gerrit branches
high level change in flow with git pull vs gerrit
As a Contributor I will use a feature branch instead of working on master and submitting a gerrit review.
A developer makes a change in their feature branch and tests it. When they’re happy they push, and make a merge request.
The developer assigns the merge request to a reviewer, who looks at it and makes line and design level comments as appropriate. When the reviewer is finished, they assign it back to the author.
The author addresses the comments. This stage can go around for a while, but once both are happy, one assigns to a final reviewer who can merge.
The final reviewer follows the same process again. The author again addresses any comments, either by changing the code or by responding with their own comments.
Once the final reviewer is happy and the build is green, they will merge.
As a PTL I will see pull requests .....
GUI Differences
Cherry Pick
Abandon
Create Branch
Create Tag
Magic Words
CI Jobs
Instead of jjb on jenkins.onap.org my jobs will be .....
Magic Words
Seeing the job queue
Restarting a job
Seeing build errors
Seeing build status
Built-in Docker registry
shall we sync with Nexus/Docker hub assuming that a built-in registry is available
a security portal scanning docker vulnerabilities is also possible
Built-in Artifacts management
Built-in pages (like in github) to host static page (already used to host the pages to monitor the CI chains https://orange-opensource.gitlab.io/lfn/ci_cd/chained-ci/
Enforcement of community by laws and practices
How will we publish release artifacts (nexus) and release docker containers (nexus3/dockerhub) ?
Will there be any change ?
INFO.yaml is used to track and automatically populate LDAP with PTL's and Committers , what will be the new process with gitlab as a service ?
Support.linuxfoundation.org and AsAService LF supported applications
How to get help through LF for SCM/CI in As A Service
Escalations