Find last component deployment from release/metadata instead of individual component deployment tracking
This is an alternative to #2582
Every auto-deploy rollout is tracked on release/metadata project in OPS.
Today when we do create the first RC of a public release, we search for the last deployment on each component we manage (gitaly, GitLab rails, Omnibus and CNG) and find the last depoloyed SHA.
With the expansion of Managed Versioning this will add an extra requirement to the rollout for new components.
As an alternative we could read the deployed version from release/metadata and decouple merge request deployment tracking from Managed Versioning.
Implementation details
-
Ensure tagging tasks can be run in dry mode (for RCs and for minor/major versions) gitlab-org/release-tools!1996 (merged) -
Update Release
module to fetch the SHA from therelease/metadata
information gitlab-org/release-tools!2003 (merged) -
Test: Compare the SHA from release/metadata
with the SHA from deployment tracking -
Set omnibus last commit from the deployments gitlab-org/release-tools!2007 (merged) -
Ensure the SHA is the same for Gitaly, GitLab Pages, GitLab and Omnibus #2607 (comment 1163161153)
Testing:
-
Enable the feature flag https://ops.gitlab.net/gitlab-org/release/tools/-/feature_flags/226/edit -
Create an RC for a fake version in dry-run mode. See details on #2607 (comment 1141945823)
/chatops run release tag 42.0.0-rc42 --dry-run
-
Verify the SHA is the same for every GitLab component (job)
GitLab component | SHA from deployment tracking | SHA from metadata | Result |
---|---|---|---|
Gitaly | 334a620a54df6bbb1563c440514e06d7068255e7 |
334a620a54df6bbb1563c440514e06d7068255e7 |
|
GitLab Pages | N/A | 3d7879734e17092fec16bfcf2e01c5668d44c054 |
|
GitLab | 4c5ea8131763e994ce0e06971e2e9fa1e11ac76e |
4c5ea8131763e994ce0e06971e2e9fa1e11ac76e |
|
Omnibus | aac284274886912d03d10c80734aa2dd3f8df664 |
4e131186cfa10480f6811cbbb9257f865470bd6 |
- CNG and Helm always use the stable branch.
-
Test the implementation with a real release candidate #2607 (comment 1143333358) -
Ensure the SHA is the same for Gitaly, GitLab Pages, GitLab and Omnibus (continuous testing on #2607 (comment 1143333358))
Follow-ups
Edited by Mayra Cabrera