Skip to content
Snippets Groups Projects
.gitlab-ci.yml 2.16 KiB
Newer Older
Dominik Hebeler's avatar
Dominik Hebeler committed
variables:
Dominik Hebeler's avatar
Dominik Hebeler committed
    DOCKER_HOST: "tcp://docker-dind.gitlab-suma:2375"
Dominik Hebeler's avatar
Dominik Hebeler committed
    AUTO_DEVOPS_BUILD_IMAGE_EXTRA_ARGS: "--network host"
Dominik Hebeler's avatar
Dominik Hebeler committed
    POSTGRES_ENABLED: "false"
    CODE_QUALITY_DISABLED: "true"
    CONTAINER_SCANNING_DISABLED: "true"
    DAST_DISABLED: "true"
    DEPENDENCY_SCANNING_DISABLED: "true"
    LICENSE_MANAGEMENT_DISABLED: "true"
    PERFORMANCE_DISABLED: "true"
    SAST_DISABLED: "true"
    TEST_DISABLED: "true"
Dominik Hebeler's avatar
Dominik Hebeler committed
include:
  - template: Jobs/Build.gitlab-ci.yml
  - template: Jobs/Deploy.gitlab-ci.yml

Dominik Hebeler's avatar
Dominik Hebeler committed
.auto-deploy:
  image: "registry.gitlab.com/gitlab-org/cluster-integration/auto-deploy-image:v1.0.6"

Dominik Hebeler's avatar
Dominik Hebeler committed
stages:
  - prepare
Dominik Hebeler's avatar
Dominik Hebeler committed
  - build
Dominik Hebeler's avatar
Dominik Hebeler committed
  - test
  - deploy  # dummy stage to follow the template guidelines
Dominik Hebeler's avatar
Dominik Hebeler committed
  - review
Dominik Hebeler's avatar
Dominik Hebeler committed
  - dast
  - staging
  - canary
  - production
  - incremental rollout 10%
  - incremental rollout 25%
  - incremental rollout 50%
  - incremental rollout 100%
  - performance
Dominik Hebeler's avatar
Dominik Hebeler committed
  - cleanup
Dominik Hebeler's avatar
Dominik Hebeler committed
prepare_node:
Dominik Hebeler's avatar
Dominik Hebeler committed
  stage: prepare
Dominik Hebeler's avatar
Dominik Hebeler committed
  image: node:10
  variables:
    npm_config_cache: "$CI_PROJECT_DIR/.npm"
Dominik Hebeler's avatar
Dominik Hebeler committed
  before_script:
    - npm install -g npm-cache
    - npm-cache install --cacheDirectory "$CI_PROJECT_DIR/.npm-package-cache" npm
  script:
Dominik Hebeler's avatar
Dominik Hebeler committed
    - npm run prod
Dominik Hebeler's avatar
Dominik Hebeler committed
  artifacts:
    paths:
      - public/js/
      - public/css/
Dominik Hebeler's avatar
Dominik Hebeler committed
      - public/mix-manifest.json
Dominik Hebeler's avatar
Dominik Hebeler committed
  cache:
    # Cache per Branch
    key: "metager-${CI_JOB_NAME}"
Dominik Hebeler's avatar
Dominik Hebeler committed
    paths:
      - .npm
      - .npm-package-cache
Dominik Hebeler's avatar
Dominik Hebeler committed
  only:
    - branches
Dominik Hebeler's avatar
Dominik Hebeler committed
    - tags
Dominik Hebeler's avatar
Dominik Hebeler committed
prepare_composer:
  stage: prepare
  image: registry.metager.de/open-source/composer/master
  variables:
    COMPOSER_HOME: "$CI_PROJECT_DIR/.composer"
Dominik Hebeler's avatar
Dominik Hebeler committed
  script:
    - composer install --no-dev
Dominik Hebeler's avatar
Dominik Hebeler committed
  artifacts:
    paths:
      - vendor
  cache:
    key: "metager-${CI_JOB_NAME}"
Dominik Hebeler's avatar
Dominik Hebeler committed
    paths:
      - .composer
Dominik Hebeler's avatar
Dominik Hebeler committed
build:
  services:
Dominik Hebeler's avatar
Dominik Hebeler committed

review:
  variables:
Dominik Hebeler's avatar
Dominik Hebeler committed
    HELM_UPGRADE_EXTRA_ARGS: --set service.externalPort=80 --set service.internalPort=80 --set service.commonName= --set ingress.tls.enabled=false --set ingress.annotations.kubernetes\.io/tls-acme="false" --set ingress.annotations.nginx\.ingress\.kubernetes\.io/ssl-redirect="false"
Dominik Hebeler's avatar
Dominik Hebeler committed
    ROLLOUT_RESOURCE_TYPE: deployment
    
production:
  variables:
    ROLLOUT_RESOURCE_TYPE: deployment
  environment:
    url: http://proxy.metager.de