Commit 20813f32 authored by Fabio Busatto's avatar Fabio Busatto
Browse files

Merge branch 'manage-autodevops-jobs-by-env-variables' into 'master'

Make Auto-DevOps jobs configurable with environment variables

Closes gitlab-ee#3586 and gitlab-ce#38550

See merge request !171
parents 92d0b7e9 0d90cfac
Loading
Loading
Loading
Loading
Loading
+49 −7
Original line number Original line Diff line number Diff line
@@ -7,6 +7,17 @@
# * creating a review app for each topic branch,
# * creating a review app for each topic branch,
# * and continuous deployment to production
# * and continuous deployment to production
#
#
# Test jobs may be disabled by setting environment variables:
# * test: TEST_DISABLED
# * codequality: CODEQUALITY_DISABLED
# * performance: PERFORMANCE_DISABLED
# * sast: SAST_DISABLED
# * dependency_scanning: DEPENDENCY_SCANNING_DISABLED
# * sast:container: CONTAINER_SCANNING_DISABLED
# * dast: DAST_DISABLED
# * review: REVIEW_DISABLED
# * stop_review: REVIEW_DISABLED
#
# In order to deploy, you must have a Kubernetes cluster configured either
# In order to deploy, you must have a Kubernetes cluster configured either
# via a project integration, or via group/project variables.
# via a project integration, or via group/project variables.
# AUTO_DEVOPS_DOMAIN must also be set as a variable at the group or project
# AUTO_DEVOPS_DOMAIN must also be set as a variable at the group or project
@@ -15,7 +26,7 @@
# Continuous deployment to production is enabled by default.
# Continuous deployment to production is enabled by default.
# If you want to deploy to staging first, or enable incremental rollouts,
# If you want to deploy to staging first, or enable incremental rollouts,
# set STAGING_ENABLED or INCREMENTAL_ROLLOUT_ENABLED environment variables.
# set STAGING_ENABLED or INCREMENTAL_ROLLOUT_ENABLED environment variables.
# If you want to use canary deployments, uncomment the canary job.
# If you want to use canary deployments, set CANARY_ENABLED environment variable.
#
#
# If Auto DevOps fails to detect the proper buildpack, or if you want to
# If Auto DevOps fails to detect the proper buildpack, or if you want to
# specify a custom buildpack, set a project variable `BUILDPACK_URL` to the
# specify a custom buildpack, set a project variable `BUILDPACK_URL` to the
@@ -76,6 +87,9 @@ test:
    - /bin/herokuish buildpack test
    - /bin/herokuish buildpack test
  only:
  only:
    - branches
    - branches
  except:
    variables:
      - $TEST_DISABLED


codequality:
codequality:
  image: docker:stable
  image: docker:stable
@@ -89,6 +103,9 @@ codequality:
    - codeclimate
    - codeclimate
  artifacts:
  artifacts:
    paths: [codeclimate.json]
    paths: [codeclimate.json]
  except:
    variables:
      - $CODEQUALITY_DISABLED


performance:
performance:
  stage: performance
  stage: performance
@@ -109,6 +126,9 @@ performance:
    refs:
    refs:
      - branches
      - branches
    kubernetes: active
    kubernetes: active
  except:
    variables:
      - $PERFORMANCE_DISABLED


sast:
sast:
  image: docker:stable
  image: docker:stable
@@ -122,6 +142,9 @@ sast:
    - sast
    - sast
  artifacts:
  artifacts:
    paths: [gl-sast-report.json]
    paths: [gl-sast-report.json]
  except:
    variables:
      - $SAST_DISABLED


dependency_scanning:
dependency_scanning:
  image: docker:stable
  image: docker:stable
@@ -135,6 +158,9 @@ dependency_scanning:
    - dependency_scanning
    - dependency_scanning
  artifacts:
  artifacts:
    paths: [gl-dependency-scanning-report.json]
    paths: [gl-dependency-scanning-report.json]
  except:
    variables:
      - $DEPENDENCY_SCANNING_DISABLED


sast:container:
sast:container:
  image: docker:stable
  image: docker:stable
@@ -148,6 +174,9 @@ sast:container:
    - sast_container
    - sast_container
  artifacts:
  artifacts:
    paths: [gl-sast-container-report.json]
    paths: [gl-sast-container-report.json]
  except:
    variables:
      - $CONTAINER_SCANNING_DISABLED


dast:
dast:
  stage: dast
  stage: dast
@@ -164,7 +193,10 @@ dast:
      - branches
      - branches
    kubernetes: active
    kubernetes: active
  except:
  except:
    refs:
      - master
      - master
    variables:
      - $DAST_DISABLED


review:
review:
  stage: review
  stage: review
@@ -188,7 +220,10 @@ review:
      - branches
      - branches
    kubernetes: active
    kubernetes: active
  except:
  except:
    refs:
      - master
      - master
    variables:
      - $REVIEW_DISABLED


stop_review:
stop_review:
  stage: cleanup
  stage: cleanup
@@ -207,7 +242,10 @@ stop_review:
      - branches
      - branches
    kubernetes: active
    kubernetes: active
  except:
  except:
    refs:
      - master
      - master
    variables:
      - $REVIEW_DISABLED


# Keys that start with a dot (.) will not be processed by GitLab CI.
# Keys that start with a dot (.) will not be processed by GitLab CI.
# Staging and canary jobs are disabled by default, to enable them
# Staging and canary jobs are disabled by default, to enable them
@@ -240,10 +278,11 @@ staging:
    variables:
    variables:
      - $STAGING_ENABLED
      - $STAGING_ENABLED


# Canaries are disabled by default, but if you want them,
# Canaries are also disabled by default, but if you want them,
# and know what the downsides are, enable this job by removing the dot (.).
# and know what the downsides are, you can enable this by setting
# CANARY_ENABLED.


.canary:
canary:
  stage: canary
  stage: canary
  script:
  script:
    - check_kube_domain
    - check_kube_domain
@@ -261,6 +300,8 @@ staging:
    refs:
    refs:
      - master
      - master
    kubernetes: active
    kubernetes: active
    variables:
      - $CANARY_ENABLED


.production: &production_template
.production: &production_template
  stage: production
  stage: production
@@ -290,6 +331,7 @@ production:
  except:
  except:
    variables:
    variables:
      - $STAGING_ENABLED
      - $STAGING_ENABLED
      - $CANARY_ENABLED
      - $INCREMENTAL_ROLLOUT_ENABLED
      - $INCREMENTAL_ROLLOUT_ENABLED


production_manual:
production_manual: