Documentation for Auto DevOps
Since Auto DevOps is a very big feature, and it goes far away from just needing technical documentation, let's discuss where and how we should document it.
General notes
- Main page:
doc/topics/autodevops/index.md
(https://docs.gitlab.com/ee/topics/autodevops/) - List all current steps in the index file with 1-2 paragraphs for each step
- Mention code quality and deploy boards
Prerequisites:
-
How is GitLab installed? In k8s, in a standalone server, with Docker? Does it matter how? -
How are the Runners installed and configured? Do they need to be in the k8s cluster? The executor should be Docker or Kubernetes for the AutoDevops script to work, right? Also, they'd need to have the privileged mode enabled. -
Then, we set up the Kubernetes service in the project level or do we use the admin templates? Because if we clone a project, it comes with empty project services, right? We'd have to set up the Kubernetes one after the clone.
Main docs:
-
How it works -
How to enable/disable (user/admin) -
How to override things -
How and whether you can add custom buildpacks. Point to the existing examples in docs. -
Document known problems/scenarios with user project’s (languages/frameworks) -
All steps except AutoReviewApps/AutoDeploy will work out of the box without a setting. AutoDeploy will need a working k8s cluster. Configured at a project level: 1) Enable the service, 2) set the AUTO_DEVOPS_DOMAIN in project CI/CD settings. -
Auto DevOps is enabled at instance level -
kubernetes cluster is configured for deployment -
Deployment to staging or canary deployment is not a default, but as an optional job that can be uncommented if needed. Users can create a new yaml file from the UI and choose/edit the (implied) template. -
Document variables
Autodeploy docs:
-
Create new page/section under AutoDevops -
Take the best pieces from the old page https://docs.gitlab.com/ee/ci/autodeploy -
Deprecate old page in a later GitLab version
On .com:
- A user will be able to enable/disable/instance-default
- Can use shared Runners
- Need a compatible Runner with the right executor: Docker/Kubernetes with privileged mode.
As a user:
- For the first iteration you’ll be able to override the template by creating your own yaml file
- In the future there will be variable templates
Edited by Mark Pundsack