doc/topics/autodevops/_index.md
{{< details >}}
{{< /details >}}
Auto DevOps turns your code into production-ready applications without the usual configuration overhead. The entire DevOps lifecycle is pre-configured using industry best practices. Start with the defaults to ship quickly, then customize when you need more control. No complex configuration files or deep DevOps expertise is required.
With Auto DevOps you get:
<i class="fa-youtube-play" aria-hidden="true"></i> For an introduction to Auto DevOps, watch Auto DevOps.
<!-- Video published on 2018-06-22 -->Auto DevOps supports development during each of the DevOps stages.
| Stage | Auto DevOps feature |
|---|---|
| Build | Auto build |
| Build | Auto dependency scanning |
| Test | Auto test |
| Test | Auto browser performance testing |
| Test | Auto code intelligence |
| Test | Auto code quality |
| Test | Auto container scanning |
| Deploy | Auto review apps |
| Deploy | Auto deploy |
| Secure | Auto dynamic application security testing (DAST) |
| Secure | Auto static application security testing (SAST) |
| Secure | Auto secret detection |
Auto DevOps provides features often included in an application platform or in a Platform as a Service (PaaS).
Inspired by Heroku, Auto DevOps goes beyond it in multiple ways:
To get started, you only need to enable Auto DevOps. This is enough to run an Auto DevOps pipeline to build and test your application.
If you want to build, test, and deploy your app:
Auto DevOps runs pipelines automatically only if a Dockerfile or matching buildpack exists.
You can enable or disable Auto DevOps for a project or an entire group. Instance administrators can also set Auto DevOps as the default for all projects in an instance.
Before enabling Auto DevOps, consider preparing it for deployment. If you don't, Auto DevOps can build and test your app, but cannot deploy it.
To use Auto DevOps for individual projects, you can enable it in a project-by-project basis. If you intend to use it for more projects, you can enable it for a group or an instance. This can save you the time of enabling it in each project.
Prerequisites:
.gitlab-ci.yml present. If present, your CI/CD configuration takes
precedence over the Auto DevOps pipeline.To enable Auto DevOps for a project:
GitLab triggers the Auto DevOps pipeline on the default branch.
To disable it, follow the same process and clear the Default to Auto DevOps pipeline checkbox.
When you enable Auto DevOps for a group, the subgroups and projects in that group inherit the configuration. You can save time by enabling Auto DevOps for a group instead of enabling it for each subgroup or project.
When enabled for a group, you can still disable Auto DevOps for the subgroups and projects where you don't want to use it.
Prerequisites:
To enable Auto DevOps for a group:
To disable Auto DevOps for a group, follow the same process and clear the Default to Auto DevOps pipeline checkbox.
After enabling Auto DevOps for a group, you can trigger the Auto DevOps pipeline for any project that belongs to that group:
.gitlab-ci.yml file.When updating GitLab, you might need to upgrade Auto DevOps dependencies to match your new GitLab version:
There is no guarantee that you can use a private container registry with Auto DevOps.
Instead, use the GitLab container registry with Auto DevOps to simplify configuration and prevent any unforeseen issues.
The GitLab integration with Helm does not support installing applications when behind a proxy.
If you want to do so, you must inject proxy settings into the installation pods at runtime.