Переменная среды Gitlab AutoDevops не применяется - PullRequest
0 голосов
/ 09 апреля 2020

Я попытался настроить gitlab, kubernetes на AWS EC2 для devops.

Все работает правильно. но переменные не применяются к стадии производства.

Ниже мой gitlab-ci.yml

image: alpine:latest

variables:
  # KAFKA CONFIG
  KAFKA_HOST: 'KAFKA_HOST'
  KAFKA_PORT: '9092'
  KAFKA_CLIENT_ID: 'k8s_autodevops_client_id'
  KAFKA_CONSUMER_GROUP_ID: 'k8s_autodevops_client_id'

  DOCKER_DRIVER: overlay2

  ROLLOUT_RESOURCE_TYPE: deployment

  DOCKER_TLS_CERTDIR: ""  # https://gitlab.com/gitlab-org/gitlab-runner/issues/4501

  CODE_QUALITY_DISABLED: "true"
  PERFORMANCE_DISABLED: "true"

stages:
  - build
  - test
  - production
  - performance
  - cleanup

production:
  image: "registry.gitlab.com/gitlab-org/cluster-integration/auto-deploy-image:v0.12.1"
  stage: production
  script:
    - auto-deploy check_kube_domain
    - auto-deploy download_chart
    - auto-deploy ensure_namespace
    - auto-deploy initialize_tiller
    - auto-deploy create_secret
    - auto-deploy deploy
    - auto-deploy delete canary
    - auto-deploy delete rollout
    - auto-deploy persist_environment_url
  environment:
    name: production
    url: http://$CI_PROJECT_PATH_SLUG.$KUBE_INGRESS_BASE_DOMAIN
  artifacts:
    paths: [environment_url.txt]

include:
  - template: Jobs/Build.gitlab-ci.yml  # https://gitlab.com/gitlab-org/gitlab-foss/blob/master/lib/gitlab/ci/templates/Jobs/Build.gitlab-ci.yml
  - template: Jobs/Test.gitlab-ci.yml  # https://gitlab.com/gitlab-org/gitlab-foss/blob/master/lib/gitlab/ci/templates/Jobs/Test.gitlab-ci.yml
  - template: Jobs/Code-Quality.gitlab-ci.yml  # https://gitlab.com/gitlab-org/gitlab-foss/blob/master/lib/gitlab/ci/templates/Jobs/Code-Quality.gitlab-ci.yml
  - template: Security/Container-Scanning.gitlab-ci.yml  # https://gitlab.com/gitlab-org/gitlab-foss/blob/master/lib/gitlab/ci/templates/Security/Container-Scanning.gitlab-ci.yml
  - template: Security/Dependency-Scanning.gitlab-ci.yml  # https://gitlab.com/gitlab-org/gitlab-foss/blob/master/lib/gitlab/ci/templates/Security/Dependency-Scanning.gitlab-ci.yml
  - template: Security/License-Management.gitlab-ci.yml  # https://gitlab.com/gitlab-org/gitlab-foss/blob/master/lib/gitlab/ci/templates/Security/License-Management.gitlab-ci.yml
  - template: Security/SAST.gitlab-ci.yml  # https://gitlab.com/gitlab-org/gitlab-foss/blob/master/lib/gitlab/ci/templates/Security/SAST.gitlab-ci.yml

То, что переменные с префиксом KAFKA применяются для сборки, стадии тестирования.

но не применяется только этап производства.

Я также пытался добавить переменные в настройки проекта Gitlab -> CI / CD -> переменные

и тот же результат.

Не удается найти мои пользовательские переменные KAFKA_ * вещи.

Любой другой способ применения переменных для этапа производства ??

PS Версия gitlab - 12.9.2-ee и с использованием GCP Kubernetes Engines, управляемой Gitlab

1 Ответ

1 голос
/ 13 апреля 2020

Это мое недоразумение.

Добавьте префикс 'K8S_SECRET_' к переменным, они применяются к стадии производства.

Поскольку этап тестирования выполняется на herokui sh, но производство Этап запускает кластер kubernetes с контейнером auto_deploy.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...