Make auto deploy "zero click" configuration
Auto deploy is awesome (if somewhat limited), but is buried behind a button that only shows up if you've already configured a Kubernetes service for the project. We can remove the special casing and make auto deploy just another
.gitlab-ci.yml template, which simplifies code, but buries it even further. @sytses suggested selecting auto deploy by default from the template list, which is an interesting idea, but it feels weird to special-case it like that. We want auto deploy to be really easy to enable, but going further, what can we do to make it literally "zero clicks" to enable? e.g. every new project has auto deploy enabled by default, with testing, CI, and CD.
Links / references
- Related: #28351 (comment 23645451)
In the end, it feels like the natural conclusion is that the flow is something like:
- User creates project
- User pushes code to repo
- User gets notification that CI passed, and staging/production app was created deployed to
- User creates topic branch and pushes code
- User gets notification that CI passed and review app was created
i.e. zero configuration, CI/CD is enabled by default for all projects, with implied configuration based on Auto Deploy (Herokuish and Kubernetes), and GitLab.com provides enough pipeline runner minutes and k8s compute minutes that they can get started with near-zero effort.