Release 12.0.1
Preparation
- Check the following list of critical issues/MRs which are to be included in
12.0.1
. Ensure each has made both CE and EE:-
gitlab-org/omnibus-gitlab!3369 (merged) into 12-0-stable
-
gitlab-org/omnibus-gitlab!3369 (merged) into 12-0-stable-ee
-
-
Ensure builds are green on Omnibus CE stable branch and Omnibus EE stable branch
Packaging
-
Sync stable branches to dev
-
Tag 12.0.1
:# In Slack: /chatops run release tag 12.0.1
-
While waiting for packages to build, now is a good time to prepare the blog post. Look at previous MRs for examples. => BLOG_POST_MR -
Check progress of EE packages build and CE packages build. - This might take a while (around 80 min).
- We only need the EE packages to finish to continue with next steps.
Deploy
Deploys to production require confirmation from a production team member
before proceeding. Use /chatops run oncall production
in the
#production
channel to find who's on call and ping someone. Deploys to
staging or canary can be done at will, just mention it in the
#production
channel.
staging.gitlab.com
-
Inform the oncall in the #production channel about staging deploy -
Check if there are any post-deployment patches that need to be re-applied. If there are, the deployment must be halted and assessed as to the impact of undoing the patches because of the release. To proceed, approval must be given by the manager oncall. -
Deploy 12.0.1
to staging.gitlab.com. Note that starting in release 11.6 staging deploys are automatically triggered from the EE omnibus pipelinegitlab_com:upload_deploy
stage.# In Slack: /chatops run deploy 12.0.1-ee.0
-
Link to deployment job (even failed attempts) =>
QA
The QA task issue is generated automatically when deploying to staging. If you need to manually generate the QA task, you can do so as follows:
# In Slack, replacing LAST_DEPLOYED_VERSION with the appropriate value:
/chatops run release qa vLAST_DEPLOYED_VERSION v12.0.1
gitlab.com canary stage
-
Inform the oncall in the #production channel about canary deploy -
Deploy 12.0.1
to canary vms in production# In Slack: /chatops run deploy 12.0.1-ee.0 --production --canary
-
Link to deployment job (even failed attempts) => -
Confirm that there are no errors on canary
If there are issues on canary you should immediately stop sending traffic to it by issuing the following chatops command:
/chatops run canary --drain --production
gitlab.com main stage (production)
-
Wait for the QA Task deadline to pass before deploying to the rest of gitlab.com -
Confirm there are no critical alerts on gitlab.com on the alerting dashboard -
Get confirmation from a production team member to deploy to production In #production
, use/chatops run oncall production
to find who's on call, and@mention
them asking to deploy to production -
If someone besides the oncall confirms, @mention
the oncall so they are aware. -
Deploy 12.0.1
to GitLab.com# In Slack: /chatops run deploy 12.0.1-ee.0 --production
-
Link to deployment job (even failed attempts) => -
Check if there are any post-deployment patches that need to be re-applied. If there are, the deployment must be halted and assessed as to the impact of undoing the patches because of the release. To proceed, approval must be given by the manager oncall.
Release
-
Publish the packages via ChatOps: # In Slack: /chatops run publish 12.0.1
-
Create the 12.0.1
version on version.gitlab.com -
Deploy the blog post -
Post a tweet about the 12.0.1
release in the#releases
channel:!tweet "GitLab 12.0.1 is now available: [BLOG_POST_URL] [DESCRIPTION_OF_CHANGES]"
References
gitlab.com
- https://gitlab.com/gitlab-org/gitlab-ce/commits/12-0-stable
- https://gitlab.com/gitlab-org/gitlab-ee/commits/12-0-stable-ee
- https://gitlab.com/gitlab-org/omnibus-gitlab/commits/12-0-stable
- https://gitlab.com/gitlab-org/omnibus-gitlab/commits/12-0-stable-ee