Рубрики
Uncategorized

Gitlab CI / CD для многократной среды

Проблема возникает, когда вы хотите использовать переменные в разных ситуациях. Отличный пример будет … помечен Gitlab, DevOps, трубопроводом, CICD.

Проблема возникает, когда вы хотите использовать переменные в разных ситуациях. Отличным примером было бы, если вы хотите включить URL-адресов вашей продукции, постановки и базы данных разработки в той же задаче, но не хотелось писать отдельные задания для каждой среды.

Когда одна процедура (развертывание S3) требует нескольких рабочих мест для различных сред, у нас есть проблема. В результате управлять несколькими заданиями для одной процедуры требует времени. Поэтому я придумал решение на основе работы рабочего процесса. Используя работу рабочего процесса и условие правила, мы можем интегрировать значения переменной на основе ветви. В результате вместо записи заданий для каждой среды одно задание может обрабатывать несколько учетных данных о среде.

Если у вас есть какие-либо вопросы по этому вопросу, пожалуйста, свяжитесь со мной в santhoshthomas015@gmail.com. .

Приведен образец кода ниже:

image: node:latest
variables:
  GIT_DEPTH: '0' 

stages:
  - build
  - deploy

workflow:
    rules:
      - if: $CI_COMMIT_REF_NAME ==  "develop"
        variables:
          DEVELOP: "true"
          ENVIRONMENT_NAME: Develop
          WEBSITE_URL: DEVELOP_WEBSITE_URL
          S3_BUCKET: (develop-s3-bucket-name)
          AWS_REGION: ************** develop
          AWS_ACCOUNT: ********develop

      - if: $CI_COMMIT_REF_NAME == "main" 
        variables:                                 
          PRODUCTION:  "true"
          ENVIRONMENT_NAME: PRODUCTION
          WEBSITE_URL: $PROD_WEBSITE_URL
          S3_BUCKET: $PROD-S3-BUCKET-NAME
          AWS_REGION: ************** (prod-region)
          AWS_ACCOUNT: ***********(prod-acct)
      - when: always 

build-app:
  stage: build
  script:
     #build-script
  environment: 
    name: $ENVIRONMENT_NAME

deploy-app:
  stage: deploy
  script:
     #deploy-script
  environment: 
    name: $ENVIRONMENT_NAME

NB: Пожалуйста, дайте мне знать, если эта процедура верна. (Эксперты)

Оригинал: «https://dev.to/sats268842/gitlab-ci-cd-for-multiple-environment-54dj»