Stop using built-in CI Templates for Auto DevOps
Problem
Since ADO is a quite unique structure and quite different from the other CI Templates, I wonder if we need to keep the "template" aspect in the feature. Does it make sense to promote it as a template? No, I don't think so. When we introduced ADO a few years ago, we started using the CI Template architecture because it was easy. No body was thinking about versioning at that moment until we suffer today. And we're discussing as if ADO should not leave from the built-in template architecture, but how important would it be?
Like, why not can we iterate on the ADO dependencies such as:
- ADO depends on
gitlab-org/auto-devops-pipeline
project on gitlab.com to construct the pipeline. (New iteration) - ADO depends on
gitlab-org/cluster-integration/auto-build-image
project on gitlab.com to run Auto Build. (Already Done) - ADO depends on
gitlab-org/cluster-integration/auto-deploy-image
project on gitlab.com to run Auto Deploy. (Already Done) - and so on
Proposal
This effectively resolves the versioning problem on Auto DevOps.
- We create
gitlab-org/auto-devops-pipeline
project on gitlab.com - We move all of the CI templates related to Auto DevOps that are currently included in the source code
- Update documentations that
include:remote: https://gitlab.com/gitlab-org/auto-devops-pipeline/-/blob/<version>/Auto-DevOps.gitlab-ci.yml
is the new way to construct Auto DevOps pipeline.- Update the source of the implicit Auto DevOps.
- Update documentations that
include:template: Auto-DevOps.gitlab-ci.yml
is deprecated and to be removed in GitLab 15.0.
Edited by Shinya Maeda