Build the independent post-deploy migration pipeline
As part of &585 (closed).
After having visibility of the pending post-deploy migrations, we need to build a post-deploy migration pipeline that is triggered independently from the coordinated pipeline.
This pipeline:
- Notifies the start/ending of the post-deployment migrations in gstg and gprd
- Executes the post-deployment migrations if production is healthy
- Is executed independently from the coordinated pipeline
Slides: https://docs.google.com/presentation/d/1SjdeV3_DIYmqUnSHfdrx9kG0laVnsjI995B8skkkE38/edit?usp=sharing
Implementation details
Coordinated pipeline
-
Implement a production check that is executed before the post-migrations are executed gitlab-org/release-tools!1752 (merged) -
Implement the post-deploy migration CI gitlab-org/release-tools!1747 (merged) / gitlab-org/release-tools!1777 (merged) -
Update the post-deploy migrations notifications. gitlab-org/release-tools!1758 (merged) - These notifications differ since they will not point out to a
DEPLOY_VERSION - Notifications should notify the start/end (whether is
successorfail) of the post-deploy migrations in gstg and gprd.
- These notifications differ since they will not point out to a
Deployer
-
Ensure the post-deployment migrations can be executed without a DEPLOY_VERSIONhttps://ops.gitlab.net/gitlab-com/gl-infra/deployer/-/merge_requests/473/diffs -
Ensure the post-deployment migration execution locks the environment https://ops.gitlab.net/gitlab-com/gl-infra/deployer/-/merge_requests/477
Other
-
Create a pipeline schedule that executes this independent post-deploy pipeline (later a ChatOps command can be built) https://ops.gitlab.net/gitlab-org/release/tools/-/pipeline_schedules/251/edit
Follow-ups
- Remove the post-migration jobs from the coordinated pipeline #2353 (closed)
- Remove the
deploy_versiondependency from the post-deployment classes #2354 (closed) - Post a message on release/tasks when the post-deploy pipeline is executed #2346 (closed)
Edited by Mayra Cabrera
