2020-08-05 11:09:59 -04:00
---
stage: Configure
group: Configure
2020-11-26 01:09:20 -05:00
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
2020-08-05 11:09:59 -04:00
---
2021-02-08 13:09:49 -05:00
# Auto DevOps development guide **(FREE)**
2019-10-02 02:06:28 -04:00
This document provides a development guide for contributors to
2020-05-13 20:07:47 -04:00
[Auto DevOps ](../topics/autodevops/index.md ).
< i class = "fa fa-youtube-play youtube" aria-hidden = "true" > < / i >
An [Auto DevOps technical walk-through ](https://youtu.be/G7RTLeToz9E )
is also available on YouTube.
2019-10-02 02:06:28 -04:00
## Development
2020-03-26 23:07:56 -04:00
Auto DevOps builds on top of GitLab CI/CD to create an automatic pipeline
2019-10-02 02:06:28 -04:00
based on your project contents. When Auto DevOps is enabled for a
project, the user does not need to explicitly include any pipeline configuration
2021-06-28 17:10:13 -04:00
through a [`.gitlab-ci.yml` file ](../ci/yaml/index.md ).
2019-10-02 02:06:28 -04:00
In the absence of a `.gitlab-ci.yml` file, the [Auto DevOps CI
2021-06-08 14:10:23 -04:00
template](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Auto-DevOps.gitlab-ci.yml)
2019-10-02 02:06:28 -04:00
is used implicitly to configure the pipeline for the project. This
template is a top-level template that includes other sub-templates,
which then defines jobs.
Some jobs use images that are built from external projects:
2020-04-06 20:09:33 -04:00
- [Auto Build ](../topics/autodevops/stages.md#auto-build ) uses
2021-06-08 14:10:23 -04:00
[configuration ](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Jobs/Build.gitlab-ci.yml )
2019-10-02 02:06:28 -04:00
in which the `build` job uses an image that is built using the
[`auto-build-image` ](https://gitlab.com/gitlab-org/cluster-integration/auto-build-image )
project.
2020-04-06 20:09:33 -04:00
- [Auto Deploy ](../topics/autodevops/stages.md#auto-deploy ) uses
2021-06-08 14:10:23 -04:00
[configuration ](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Jobs/Deploy.gitlab-ci.yml )
2019-10-02 02:06:28 -04:00
in which the jobs defined in this template use an image that is built using the
[`auto-deploy-image` ](https://gitlab.com/gitlab-org/cluster-integration/auto-deploy-image )
project. By default, the Helm chart defined in
2020-08-20 23:10:16 -04:00
[`auto-deploy-app` ](https://gitlab.com/gitlab-org/cluster-integration/auto-deploy-image/-/tree/master/assets/auto-deploy-app ) is used to deploy.
2019-10-02 02:06:28 -04:00
There are extra variables that get passed to the CI jobs when Auto
DevOps is enabled that are not present in a normal CI job. These can be
found in
2021-06-08 14:10:23 -04:00
[`ProjectAutoDevops` ](https://gitlab.com/gitlab-org/gitlab/-/blob/bf69484afa94e091c3e1383945f60dbe4e8681af/app/models/project_auto_devops.rb ).
2019-10-02 02:06:28 -04:00
## Development environment
2021-02-17 13:09:19 -05:00
See the [Simple way to develop/test Kubernetes workflows with a local cluster ](https://gitlab.com/gitlab-org/gitlab-development-kit/-/issues/1064 )
issue for discussion around setting up Auto DevOps development environments.
2020-01-30 19:09:13 -05:00
## Monitoring on GitLab.com
The metric
2021-03-09 13:09:41 -05:00
[`auto_devops_completed_pipelines_total` ](https://thanos.gitlab.net/graph?g0.range_input=72h&g0.max_source_resolution=0s&g0.expr=sum(increase(auto_devops_pipelines_completed_total%7Benvironment%3D%22gprd%22%7D%5B60m%5D ))%20by%20(status)& g0.tab=0)
2020-01-30 19:09:13 -05:00
(only available to GitLab team members) counts completed Auto DevOps
pipelines, labeled by status.