Questions and answers extracted from #ps_coe slack channel
Why use the pipeline CoE/custom template approach vs. Auto DevOps? What are the pros/cons of each approach?
Auto DevOps is a quick way to have a pipeline built based on the automatic detection of files inside your repository. The Pipeline COE brings Pipeline Templates that lowers the barrier of entry to making your own pipeline. It also brings Governance, Hardened Containers, and Documentation on Best Practices.
Why would you want to make your own pipeline instead of using the AutoDevOps one?
Auto DevOps only supports Kubernetes/ECS Deployments. If you need to deploy somewhere else, Auto DevOps does not support it. Auto DevOps also does not integrate with your third-party security tools. We would also claim (without real proof) that AutoDevops is slow as it has to look for what type of code you are trying to build/test. Auto DevOps is good for our basic customers. Enterprise customers would never use it.
Why we should stop pushing AutoDevops for Enterprise customers?
Most customers will end up spending more time breaking up Auto DevOps and reconfiguring it.. when they could just have a proper pipeline in the same time. Just adding a little bit, with my real-world experiences with customers; They get sold on auto DevOps for basic pipelines. And it does work for the most basic of examples. Then, inevitably, they want to tailor their pipeline to their needs. You can’t do that with auto DevOps. So then you have to go through a laborious process of finding the source code for the auto DevOps pipeline, and making it a proper pipeline. Then it turns into a lot of yak shaving as the customer tries to convert the default auto DevOps gitlab-ci.yml to a customized gitlab-ci.yml, and figure out what all the things are doing. COE is trying to jump-start that process of getting you started. Just doing migrations/training, I have had this come up twice.
Why Pipeline CoE gives better control over customer’s supply chain than AutoDevOps?
One of the success paths of Auto DevOps leverages the CNCF Buildpacks and our default Helm app chart, which means that you might have code running in prod that you’re not fully aware of. Auto DevOps uses public community containers. The Pipeline COE allows you to control what containers are being used for the pipeline. You control everything that runs in your pipeline from start to finish.
Where do the existing COE docs live?
In the Pipelines Templates repository in the docs folder. It creates a GitLab Pages website from the markdown files.
Do we have Pipeline CoE FAQ Page?
We have an initial MR introducing a FAQ page: