2020-10-24 23:57:45 +05:30
---
stage: Configure
group: Configure
2022-11-25 23:54:43 +05:30
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
2020-10-24 23:57:45 +05:30
---
2023-03-17 16:20:25 +05:30
# Auto DevOps development guide
2019-12-21 20:55:43 +05:30
This document provides a development guide for contributors to
2020-05-24 23:13:21 +05:30
[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-12-21 20:55:43 +05:30
## Development
2020-04-22 19:07:51 +05:30
Auto DevOps builds on top of GitLab CI/CD to create an automatic pipeline
2019-12-21 20:55:43 +05:30
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-09-30 23:02:18 +05:30
through a [`.gitlab-ci.yml` file ](../ci/yaml/index.md ).
2019-12-21 20:55:43 +05:30
2022-10-11 01:57:18 +05:30
In the absence of a `.gitlab-ci.yml` file, the
2022-08-27 11:52:29 +05:30
[Auto DevOps CI/CD template ](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Auto-DevOps.gitlab-ci.yml )
2019-12-21 20:55:43 +05:30
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-22 19:07:51 +05:30
- [Auto Build ](../topics/autodevops/stages.md#auto-build ) uses
2021-09-04 01:27:46 +05:30
[configuration ](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Jobs/Build.gitlab-ci.yml )
2019-12-21 20:55:43 +05:30
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-22 19:07:51 +05:30
- [Auto Deploy ](../topics/autodevops/stages.md#auto-deploy ) uses
2021-09-04 01:27:46 +05:30
[configuration ](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Jobs/Deploy.gitlab-ci.yml )
2019-12-21 20:55:43 +05:30
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-11-24 15:15:51 +05:30
[`auto-deploy-app` ](https://gitlab.com/gitlab-org/cluster-integration/auto-deploy-image/-/tree/master/assets/auto-deploy-app ) is used to deploy.
2019-12-21 20:55:43 +05:30
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-09-04 01:27:46 +05:30
[`ProjectAutoDevops` ](https://gitlab.com/gitlab-org/gitlab/-/blob/bf69484afa94e091c3e1383945f60dbe4e8681af/app/models/project_auto_devops.rb ).
2019-12-21 20:55:43 +05:30
## Development environment
2021-04-17 20:07:23 +05:30
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-03-13 15:44:24 +05:30
## Monitoring on GitLab.com
The metric
2021-04-17 20:07:23 +05:30
[`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-03-13 15:44:24 +05:30
(only available to GitLab team members) counts completed Auto DevOps
pipelines, labeled by status.