From 135dc2c5b29fc8fe2563617882711364160e729c Mon Sep 17 00:00:00 2001 From: Achilleas Pipinellis Date: Thu, 7 Jun 2018 15:08:43 +0200 Subject: [PATCH] Port the Auto DevOps docs from EE --- .../img/autodevops_domain_variables.png | Bin 0 -> 8456 bytes .../img/autodevops_multiple_clusters.png | Bin 0 -> 12619 bytes doc/topics/autodevops/index.md | 133 +++++++++++++----- 3 files changed, 100 insertions(+), 33 deletions(-) create mode 100644 doc/topics/autodevops/img/autodevops_domain_variables.png create mode 100644 doc/topics/autodevops/img/autodevops_multiple_clusters.png diff --git a/doc/topics/autodevops/img/autodevops_domain_variables.png b/doc/topics/autodevops/img/autodevops_domain_variables.png new file mode 100644 index 0000000000000000000000000000000000000000..b6f8864796f527caaf2ff27b990bbc06db86d266 GIT binary patch literal 8456 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 Settings** under the "Continuous Integration and Delivery" section +- or at the project or group level as a variable: `AUTO_DEVOPS_DOMAIN` (required if you want to use [multiple clusters](#using-multiple-kubernetes-clusters)) + +A wildcard DNS A record matching the base domain(s) is required, for example, given a base domain of `example.com`, you'd need a DNS entry like: ``` *.example.com 3600 A 1.2.3.4 ``` -where `example.com` is the domain name under which the deployed apps will be served, +In this case, `example.com` is the domain name under which the deployed apps will be served, and `1.2.3.4` is the IP address of your load balancer; generally NGINX -([see prerequisites](#prerequisites)). How to set up the DNS record is beyond +([see requirements](#requirements)). How to set up the DNS record is beyond the scope of this document; you should check with your DNS provider. Alternatively you can use free public services like [xip.io](http://xip.io) or @@ -146,6 +148,56 @@ If GitLab is installed using the [GitLab Omnibus Helm Chart], there are two options: provide a static IP, or have one assigned. For more information see the relevant docs on the [network prerequisites](../../install/kubernetes/gitlab_omnibus.md#networking-prerequisites). +## Using multiple Kubernetes clusters **[PREMIUM]** + +When using Auto DevOps, you may want to deploy different environments to +different Kubernetes clusters. This is possible due to the 1:1 connection that +[exists between them](../../user/project/clusters/index.md#multiple-kubernetes-clusters). + +In the [Auto DevOps template](https://gitlab.com/gitlab-org/gitlab-ci-yml/blob/master/Auto-DevOps.gitlab-ci.yml) +(used behind the scenes by Auto DevOps), there are currently 3 defined environment names that you need to know: + +- `review/` (every environment starting with `review/`) +- `staging` +- `production` + +Those environments are tied to jobs that use [Auto Deploy](#auto-deploy), so +except for the environment scope, they would also need to have a different +domain they would be deployed to. This is why you need to define a separate +`AUTO_DEVOPS_DOMAIN` variable for all the above +[based on the environment](../../ci/variables/README.md#limiting-environment-scopes-of-variables). + +The following table is an example of how the three different clusters would +be configured. + +| Cluster name | Cluster environment scope | `AUTO_DEVOPS_DOMAIN` variable value | Variable environment scope | Notes | +| ------------ | -------------- | ----------------------------- | ------------- | ------ | +| review | `review/*` | `review.example.com` | `review/*` | The review cluster which will run all [Review Apps](../../ci/review_apps/index.md). `*` is a wildcard, which means it will be used by every environment name starting with `review/`. | +| staging | `staging` | `staging.example.com` | `staging` | (Optional) The staging cluster which will run the deployments of the staging environments. You need to [enable it first](#deploy-policy-for-staging-and-production-environments). | +| production | `production` | `example.com` | `production` | The production cluster which will run the deployments of the production environment. You can use [incremental rollouts](#incremental-rollout-to-production). | + +To add a different cluster for each environment: + +1. Navigate to your project's **Operations > Kubernetes** and create the Kubernetes clusters + with their respective environment scope as described from the table above. + + ![Auto DevOps multiple clusters](img/autodevops_multiple_clusters.png) + +1. After the clusters are created, navigate to each one and install Helm Tiller + and Ingress. +1. Make sure you have [configured your DNS](#auto-devops-base-domain) with the + specified Auto DevOps domains. +1. Navigate to your project's **Settings > CI/CD > Variables** and add + the `AUTO_DEVOPS_DOMAIN` variables with their respective environment + scope. + + ![Auto DevOps domain variables](img/autodevops_domain_variables.png) + +Now that all is configured, you can test your setup by creating a merge request +and verifying that your app is deployed as a review app in the Kubernetes +cluster with the `review/*` environment scope. Similarly, you can check the +other environments. + ## Quick start If you are using GitLab.com, see our [quick start guide](quick_start_guide.md) @@ -154,13 +206,13 @@ Google Cloud. ## Enabling Auto DevOps -If you haven't done already, read the [prerequisites](#prerequisites) to make +If you haven't done already, read the [requirements](#requirements) to make full use of Auto DevOps. If this is your fist time, we recommend you follow the -[quick start guide](#quick-start). +[quick start guide](quick_start_guide.md). To enable Auto DevOps to your project: -1. Check that your project doesn't have a `.gitlab-ci.yml`, and remove it otherwise +1. Check that your project doesn't have a `.gitlab-ci.yml`, or remove it otherwise 1. Go to your project's **Settings > CI/CD > General pipelines settings** and find the Auto DevOps section 1. Select "Enable Auto DevOps" @@ -230,7 +282,7 @@ In GitLab Starter, differences between the source and target branches are also [shown in the merge request widget](https://docs.gitlab.com/ee/user/project/merge_requests/code_quality_diff.html). -### Auto SAST +### Auto SAST **[ULTIMATE]** > Introduced in [GitLab Ultimate][ee] 10.3. @@ -241,9 +293,9 @@ report is created, it's uploaded as an artifact which you can later download and check out. In GitLab Ultimate, any security warnings are also -[shown in the merge request widget](https://docs.gitlab.com/ee/user/project/merge_requests/sast.html). +[shown in the merge request widget](https://docs.gitlab.com/ee//user/project/merge_requests/sast.html). -### Auto Dependency Scanning +### Auto Dependency Scanning **[ULTIMATE]** > Introduced in [GitLab Ultimate][ee] 10.7. @@ -254,7 +306,20 @@ report is created, it's uploaded as an artifact which you can later download and check out. In GitLab Ultimate, any security warnings are also -[shown in the merge request widget](https://docs.gitlab.com/ee/user/project/merge_requests/dependency_scanning.html). +[shown in the merge request widget](https://docs.gitlab.com/ee//user/project/merge_requests/dependency_scanning.html). + +### Auto License Management **[ULTIMATE]** + +> Introduced in [GitLab Ultimate][ee] 11.0. + +License Management uses the +[License Management Docker image](https://gitlab.com/gitlab-org/security-products/license_management) +to search the project dependencies for their license. Once the +report is created, it's uploaded as an artifact which you can later download and +check out. + +In GitLab Ultimate, any licenses are also +[shown in the merge request widget](https://docs.gitlab.com/ee//user/project/merge_requests/license_management.html). ### Auto Container Scanning @@ -267,13 +332,13 @@ created, it's uploaded as an artifact which you can later download and check out. In GitLab Ultimate, any security warnings are also -[shown in the merge request widget](https://docs.gitlab.com/ee/user/project/merge_requests/container_scanning.html). +[shown in the merge request widget](https://docs.gitlab.com/ee//user/project/merge_requests/container_scanning.html). ### Auto Review Apps NOTE: **Note:** This is an optional step, since many projects do not have a Kubernetes cluster -available. If the [prerequisites](#prerequisites) are not met, the job will +available. If the [requirements](#requirements) are not met, the job will silently be skipped. CAUTION: **Caution:** @@ -295,7 +360,7 @@ up in the merge request widget for easy discovery. When the branch is deleted, for example after the merge request is merged, the Review App will automatically be deleted. -### Auto DAST +### Auto DAST **[ULTIMATE]** > Introduced in [GitLab Ultimate][ee] 10.4. @@ -306,9 +371,9 @@ issues. Once the report is created, it's uploaded as an artifact which you can later download and check out. In GitLab Ultimate, any security warnings are also -[shown in the merge request widget](https://docs.gitlab.com/ee/user/project/merge_requests/dast.html). +[shown in the merge request widget](https://docs.gitlab.com/ee//user/project/merge_requests/dast.html). -### Auto Browser Performance Testing +### Auto Browser Performance Testing **[PREMIUM]** > Introduced in [GitLab Premium][ee] 10.4. @@ -320,13 +385,14 @@ Auto Browser Performance Testing utilizes the [Sitespeed.io container](https://h /direction ``` -In GitLab Premium, performance differences between the source and target branches are [shown in the merge request widget](https://docs.gitlab.com/ee/user/project/merge_requests/browser_performance_testing.html). +In GitLab Premium, performance differences between the source +and target branches are [shown in the merge request widget](https://docs.gitlab.com/ee//user/project/merge_requests/browser_performance_testing.html). ### Auto Deploy NOTE: **Note:** This is an optional step, since many projects do not have a Kubernetes cluster -available. If the [prerequisites](#prerequisites) are not met, the job will +available. If the [requirements](#requirements) are not met, the job will silently be skipped. CAUTION: **Caution:** @@ -363,7 +429,7 @@ executed somewhere else, it cannot be accessed again. ### Auto Monitoring NOTE: **Note:** -Check the [prerequisites](#prerequisites) for Auto Monitoring to make this stage +Check the [requirements](#requirements) for Auto Monitoring to make this stage work. Once your application is deployed, Auto Monitoring makes it possible to monitor @@ -437,7 +503,7 @@ repo or by specifying a project variable: file in it, Auto DevOps will detect the chart and use it instead of the [default one](https://gitlab.com/charts/charts.gitlab.io/tree/master/charts/auto-deploy-app). This can be a great way to control exactly how your application is deployed. -- **Project variable** - Create a [variable](../../ci/variables/README.md#variables) +- **Project variable** - Create a [project variable](../../ci/variables/README.md#secret-variables) `AUTO_DEVOPS_CHART` with the URL of a custom chart to use. ### Customizing `.gitlab-ci.yml` @@ -493,22 +559,23 @@ also be customized, and you can easily use a [custom buildpack](#custom-buildpac | `POSTGRES_PASSWORD` | The PostgreSQL password; defaults to `testing-password`. Set it to use a custom password. | | `POSTGRES_DB` | The PostgreSQL database name; defaults to the value of [`$CI_ENVIRONMENT_SLUG`](../../ci/variables/README.md#predefined-variables-environment-variables). Set it to use a custom database name. | | `BUILDPACK_URL` | The buildpack's full URL. It can point to either Git repositories or a tarball URL. For Git repositories, it is possible to point to a specific `ref`, for example `https://github.com/heroku/heroku-buildpack-ruby.git#v142` | +| `SAST_CONFIDENCE_LEVEL` | The minimum confidence level of security issues you want to be reported; `1` for Low, `2` for Medium, `3` for High; defaults to `3`.| +| `DEP_SCAN_DISABLE_REMOTE_CHECKS` | Whether remote Dependency Scanning checks are disabled; defaults to `"false"`. Set to `"true"` to disable checks that send data to GitLab central servers. [Read more about remote checks](https://gitlab.com/gitlab-org/security-products/dependency-scanning#remote-checks).| | `STAGING_ENABLED` | From GitLab 10.8, this variable can be used to define a [deploy policy for staging and production environments](#deploy-policy-for-staging-and-production-environments). | | `CANARY_ENABLED` | From GitLab 11.0, this variable can be used to define a [deploy policy for canary environments](#deploy-policy-for-canary-environments). | | `INCREMENTAL_ROLLOUT_ENABLED`| From GitLab 10.8, this variable can be used to enable an [incremental rollout](#incremental-rollout-to-production) of your application for the production environment. | | `TEST_DISABLED` | From GitLab 11.0, this variable can be used to disable the `test` job. If the variable is present, the job will not be created. | -| `CODE_QUALITY_DISABLED` | From GitLab 11.0, this variable can be used to disable the `code_quality` job. If the variable is present, the job will not be created. | -| `LICENSE_MANAGEMENT_DISABLED` | From GitLab 11.0, this variable can be used to disable the `license_management` job. If the variable is present, the job will not be created. | +| `CODEQUALITY_DISABLED` | From GitLab 11.0, this variable can be used to disable the `codequality` job. If the variable is present, the job will not be created. | | `SAST_DISABLED` | From GitLab 11.0, this variable can be used to disable the `sast` job. If the variable is present, the job will not be created. | | `DEPENDENCY_SCANNING_DISABLED` | From GitLab 11.0, this variable can be used to disable the `dependency_scanning` job. If the variable is present, the job will not be created. | -| `CONTAINER_SCANNING_DISABLED` | From GitLab 11.0, this variable can be used to disable the `container_scanning` job. If the variable is present, the job will not be created. | +| `CONTAINER_SCANNING_DISABLED` | From GitLab 11.0, this variable can be used to disable the `sast:container` job. If the variable is present, the job will not be created. | | `REVIEW_DISABLED` | From GitLab 11.0, this variable can be used to disable the `review` and the manual `review:stop` job. If the variable is present, these jobs will not be created. | | `DAST_DISABLED` | From GitLab 11.0, this variable can be used to disable the `dast` job. If the variable is present, the job will not be created. | | `PERFORMANCE_DISABLED` | From GitLab 11.0, this variable can be used to disable the `performance` job. If the variable is present, the job will not be created. | TIP: **Tip:** Set up the replica variables using a -[project variable](../../ci/variables/README.md#variables) +[project variable](../../ci/variables/README.md#secret-variables) and scale your application by just redeploying it! CAUTION: **Caution:** @@ -583,7 +650,7 @@ staging environment and deploy to production manually. For this scenario, the `STAGING_ENABLED` environment variable was introduced. If `STAGING_ENABLED` is defined in your project (e.g., set `STAGING_ENABLED` to -`1` as a variable), then the application will be automatically deployed +`1` as a secret variable), then the application will be automatically deployed to a `staging` environment, and a `production_manual` job will be created for you when you're ready to manually deploy to production. @@ -596,7 +663,7 @@ A [canary environment](https://docs.gitlab.com/ee/user/project/canary_deployment before any changes are deployed to production. If `CANARY_ENABLED` is defined in your project (e.g., set `CANARY_ENABLED` to -`1` as a variable) then two manual jobs will be created: +`1` as a secret variable) then two manual jobs will be created: - `canary` which will deploy the application to the canary environment - `production_manual` which is to be used by you when you're ready to manually @@ -612,7 +679,7 @@ This will allow you to first check how the app is behaving, and later manually increasing the rollout up to 100%. If `INCREMENTAL_ROLLOUT_ENABLED` is defined in your project (e.g., set -`INCREMENTAL_ROLLOUT_ENABLED` to `1` as a variable), then instead of the +`INCREMENTAL_ROLLOUT_ENABLED` to `1` as a secret variable), then instead of the standard `production` job, 4 different [manual jobs](../../ci/pipelines.md#manual-actions-from-the-pipeline-graph) will be created: