add plan job for staging

hyuckhoon.ko·2021년 1월 1일
0

What I learned in first year

목록 보기
32/146

1. 코드 수정

  • 수정 전
Staging Plan:
  stage: Staging Plan
  script:
    - echo "Run Terraform Plan for Staging"
  rules:
    - if: '$CI_COMMIT_BRANCH =~ /^(master|production)$/' 

  • 수정 후
Staging Plan:
  stage: Staging Plan
  script:
    - cd deploy/
    - export TF_VAR_ecr_image_api=$ECR_REPO:$CI_COMMIT_SHORT_SHA
    - terraform init
    - terraform workspace select staging || terraform workspace new staging
    - terraform plan
  rules:
    - if: '$CI_COMMIT_BRANCH =~ /^(master|production)$/'     






2. TF_VAR 의미

terraform에 필요한 환경변수들을 ~.tf 파일에서
사전에 정의할 수 있다.

하지만 도커 이미지를 빌드하고 run에 필요한 환경변수들은 다른 방식으로 지정해야 한다. (끊임없이 변하는 도커 이미지 태그 등)

다음과 같이 말이다.

export TF_VAR_ecr_image_api=$ECR_REPO:$CI_COMMIT_SHORT_SHA



3. 코드 추가 수정(for production)

Staging Plan 과
Production Plan의 job은
내용이 매우매우 흡사하다.

Staging Plan 코드를 수정하는 김에 함께 수정하자.


  • 수정 전
Production Plan:
  stage: Production Plan
  script:
    - echo "Run Terraform Plan for Production"
  rules:
    - if: '$CI_COMMIT_BRANCH == "production"'     

  • 수정 후
Production Plan:
  stage: Production Plan
  script:
    - cd deploy/
    - export TF_VAR_ecr_image=$ECR_REPO:$CI_COMMIT_SHORT_SHA
    - terraform init
    - terraform workspace select production || terraform workspace new production
    - terraform plan
  rules:
    - if: '$CI_COMMIT_BRANCH == "production"' 

0개의 댓글