diff options
Diffstat (limited to 'doc/topics/autodevops/index.md')
-rw-r--r-- | doc/topics/autodevops/index.md | 136 |
1 files changed, 52 insertions, 84 deletions
diff --git a/doc/topics/autodevops/index.md b/doc/topics/autodevops/index.md index c21ed5ed444..73e87aa190f 100644 --- a/doc/topics/autodevops/index.md +++ b/doc/topics/autodevops/index.md @@ -1,7 +1,7 @@ --- stage: Configure group: Configure -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 +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 --- # Auto DevOps **(FREE)** @@ -26,36 +26,24 @@ For an introduction to Auto DevOps, watch [Auto DevOps in GitLab 11.0](https://y ## Auto DevOps features -Based on the DevOps [stages](stages.md), use Auto DevOps to: - -**Build your app:** - -- [Auto Build](stages.md#auto-build) -- [Auto Dependency Scanning](stages.md#auto-dependency-scanning) - -**Test your app:** - -- [Auto Test](stages.md#auto-test) -- [Auto Browser Performance Testing](stages.md#auto-browser-performance-testing) -- [Auto Code Intelligence](stages.md#auto-code-intelligence) -- [Auto Code Quality](stages.md#auto-code-quality) -- [Auto Container Scanning](stages.md#auto-container-scanning) -- [Auto License Compliance](stages.md#auto-license-compliance) - -**Deploy your app:** - -- [Auto Review Apps](stages.md#auto-review-apps) -- [Auto Deploy](stages.md#auto-deploy) - -**Monitor your app:** - -- [Auto Monitoring](stages.md#auto-monitoring) - -**Secure your app:** - -- [Auto Dynamic Application Security Testing (DAST)](stages.md#auto-dast) -- [Auto Static Application Security Testing (SAST)](stages.md#auto-sast) -- [Auto Secret Detection](stages.md#auto-secret-detection) +Auto DevOps supports development during each of the [DevOps stages](stages.md). + +| Stage | Auto DevOps feature | +|---------|-------------| +| Build | [Auto Build](stages.md#auto-build) | +| Build | [Auto Dependency Scanning](stages.md#auto-dependency-scanning) | +| Test | [Auto Test](stages.md#auto-test) | +| Test | [Auto Browser Performance Testing](stages.md#auto-browser-performance-testing) | +| Test | [Auto Code Intelligence](stages.md#auto-code-intelligence) | +| Test | [Auto Code Quality](stages.md#auto-code-quality) | +| Test | [Auto Container Scanning](stages.md#auto-container-scanning) | +| Test | [Auto License Compliance](stages.md#auto-license-compliance) | +| Deploy | [Auto Review Apps](stages.md#auto-review-apps) | +| Deploy | [Auto Deploy](stages.md#auto-deploy) | +| Monitor | [Auto Monitoring](stages.md#auto-monitoring) | +| Secure | [Auto Dynamic Application Security Testing (DAST)](stages.md#auto-dast) | +| Secure | [Auto Static Application Security Testing (SAST)](stages.md#auto-sast) | +| Secure | [Auto Secret Detection](stages.md#auto-secret-detection) | ### Comparison to application platforms and PaaS @@ -80,24 +68,12 @@ If you want to build, test, and deploy your app: 1. View the [requirements for deployment](requirements.md). 1. [Enable Auto DevOps](#enable-or-disable-auto-devops). -1. Follow the [quick start guide](#quick-start). - -As Auto DevOps relies on many components, be familiar with: - -- [Continuous methodologies](../../ci/introduction/index.md) -- [Docker](https://docs.docker.com) -- [GitLab Runner](https://docs.gitlab.com/runner/) - -When deploying to a Kubernetes cluster make sure you're also familiar with: - -- [Kubernetes](https://kubernetes.io/docs/home/) -- [Helm](https://helm.sh/docs/) -- [Prometheus](https://prometheus.io/docs/introduction/overview/) +1. [Deploy your app to a cloud provider](#deploy-your-app-to-a-cloud-provider). ### Enable or disable Auto DevOps > - [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/41729) in GitLab 11.3, Auto DevOps is enabled by default. -> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/26655) GitLab 12.7, Auto DevOps runs pipelines automatically only if a [`Dockerfile` or matching buildpack](stages.md#auto-build) exists. +> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/26655) in GitLab 12.7, Auto DevOps runs pipelines automatically only if a [`Dockerfile` or matching buildpack](stages.md#auto-build) exists. Depending on your instance type, you can enable or disable Auto DevOps at the following levels: @@ -116,7 +92,7 @@ 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](#at-the-group-level) or an [instance](#at-the-instance-level). This can save you the time of -enabling it one by one. +enabling it in each project. Prerequisites: @@ -143,9 +119,10 @@ To disable it, follow the same process and clear the > [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/52447) in GitLab 11.10. -When you enable Auto DevOps at group level, the subgroups and projects in that -group inherit the configuration. This saves you some time by batch-enabling it -rather than enabling individually for each subgroup or project. +When you enable Auto DevOps at the group level, 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. @@ -162,7 +139,7 @@ To enable Auto DevOps for a group: 1. Select the **Default to Auto DevOps pipeline** checkbox. 1. Select **Save changes**. -To disable Auto DevOps on the group level, follow the same process and +To disable Auto DevOps at the group level, follow the same process and clear the **Default to Auto DevOps pipeline** checkbox. After enabling Auto DevOps at the group level, you can trigger the @@ -175,10 +152,9 @@ Auto DevOps pipeline for any project that belongs to that group: #### At the instance level **(FREE SELF)** -By enabling Auto DevOps in the instance level, all projects created in that -instance become enabled. This is convenient when you want to run Auto DevOps by -default for all projects. You can still disable Auto DevOps individually for -the groups and projects where you don't want to run it. +To enable Auto DevOps by default for all projects, you can enable it at the instance level. +You can still disable Auto DevOps for each group and project +where you don't want to run it. Even when disabled for an instance, group Owners and project Maintainers can still enable Auto DevOps at the group and project levels. @@ -196,24 +172,17 @@ To enable Auto DevOps for your instance: 1. Optional. Add the Auto DevOps [base domain](requirements.md#auto-devops-base-domain). 1. Select **Save changes**. -When enabled, it attempts to run Auto DevOps pipelines in every project. If the +When enabled, Auto DevOps attempts to run pipelines in every project. If the pipeline fails in a particular project, it disables itself. GitLab administrators can change this in the [Auto DevOps settings](../../user/admin_area/settings/continuous_integration.md#auto-devops). If a [CI/CD configuration file](../../ci/yaml/index.md) is present, -it remains unchanged and Auto DevOps doesn't affect it. +it remains unchanged and Auto DevOps does not affect it. To disable Auto DevOps in the instance level, follow the same process and clear the **Default to Auto DevOps pipeline** checkbox. -### Private registry support - -There is no guarantee that you can use a private container registry with Auto DevOps. - -Instead, use the [GitLab Container Registry](../../user/packages/container_registry/index.md) with Auto DevOps to -simplify configuration and prevent any unforeseen issues. - -### Quick start +### Deploy your app to a cloud provider - [Use Auto DevOps to deploy to a Kubernetes cluster on Google Kubernetes Engine (GKE)](cloud_deployments/auto_devops_with_gke.md) - [Use Auto DevOps to deploy to EC2](cloud_deployments/auto_devops_with_ec2.md) @@ -221,7 +190,7 @@ simplify configuration and prevent any unforeseen issues. ## Upgrade Auto DevOps dependencies when updating GitLab -When updating GitLab, you may need to upgrade Auto DevOps dependencies to +When updating GitLab, you might need to upgrade Auto DevOps dependencies to match your new GitLab version: - [Upgrading Auto DevOps resources](upgrading_auto_deploy_dependencies.md): @@ -233,30 +202,29 @@ match your new GitLab version: - Environment variables. - [Upgrading PostgreSQL](upgrading_postgresql.md). +## Private registry support + +There is no guarantee that you can use a private container registry with Auto DevOps. + +Instead, use the [GitLab Container Registry](../../user/packages/container_registry/index.md) with Auto DevOps to +simplify configuration and prevent any unforeseen issues. + ## Install applications behind a proxy The GitLab integration with Helm does not support installing applications when behind a proxy. -To do so, inject proxy settings into the installation pods at runtime. -For example, you can use a `PodPreset`: - -NOTE: -[PodPreset was removed in Kubernetes v1.20](https://github.com/kubernetes/kubernetes/pull/94090). - -```yaml -apiVersion: settings.k8s.io/v1alpha1 -kind: PodPreset -metadata: - name: gitlab-managed-apps-default-proxy - namespace: gitlab-managed-apps -spec: - env: - - name: http_proxy - value: "PUT_YOUR_HTTP_PROXY_HERE" - - name: https_proxy - value: "PUT_YOUR_HTTPS_PROXY_HERE" -``` +If you want to do so, you must inject proxy settings into the +installation pods at runtime. + +## Related topics + +- [Continuous methodologies](../../ci/introduction/index.md) +- [Docker](https://docs.docker.com) +- [GitLab Runner](https://docs.gitlab.com/runner/) +- [Helm](https://helm.sh/docs/) +- [Kubernetes](https://kubernetes.io/docs/home/) +- [Prometheus](https://prometheus.io/docs/introduction/overview/) ## Troubleshooting |