다양한 환경을 위한 Gitlab CI/CD

네가 다른 상황에서 변수를 사용하고 싶을 때 문제가 발생한다.하나의 좋은 예는 같은 작업에 생산, 등장, 개발 데이터베이스 URL을 포함하고 싶지만, 환경마다 별도의 작업을 하고 싶지 않다는 것이다.
하나의 과정(s3에 배치)이 서로 다른 환경을 위해 여러 개의 작업을 수행해야 할 때 우리는 문제에 부딪혔다.따라서 하나의 과정을 위해 여러 개의 작업을 관리하는 데 시간이 필요하다.그래서 나는 업무 흐름을 바탕으로 하는 해결 방안을 제시했다.워크플로우 작업과 규칙 조건을 사용하여 분기 통합 변수 값을 기반으로 할 수 있습니다.따라서 하나의 작업은 각 환경에 대한 작업을 작성하는 것이 아니라 여러 개의 환경 증명서를 처리할 수 있다.
이 주제에 대해 궁금한 것이 있으면 [email protected]로 저에게 연락 주세요.
다음은 코드 예입니다.
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
주의: 이 프로그램이 정확한지 알려 주세요.(전문가)

좋은 웹페이지 즐겨찾기