Github Actions에서 master에 push되면 terraform apply하는 CI를 만든다

5202 단어 Terraform

하고 싶은 일


  • main 브랜치에 push 되었으면, fmt 되고 있는지 체크해 terraform apply 를 실행한다

  • 준비할 파일


  • .github/workflows/ 에 yaml 파일을 설정하는 것만으로 좋다
  • jobs 위에서 실행되어 하나라도 실패하면 GithubActions가 오류가됩니다
  • 디렉토리를 지정하는 경우는 working-directory: ./deployment/terraform
  • 다음 예제는 developmentproduction
  • aws user를 만들고 자격 증명을 삼가하십시오

  • github/workflows/ci-master.yml
    name: ci-master
    
    on:
      push:
        branches: [ main ]
      pull_request:
        branches: [ main ]
    
    jobs:
      terraform:
        name: Terraform
        runs-on: ubuntu-latest
    
        defaults:
          run:
            shell: bash
        steps:
        - name: Checkout
          uses: actions/checkout@v2
    
        - name: configure AWS credentials
          uses: aws-actions/configure-aws-credentials@v1
          with:
            aws-access-key-id: <key>
            aws-secret-access-key: <secretkey>
            aws-region: ap-northeast-1
    
        - name: Setup Terraform
          uses: hashicorp/setup-terraform@v1
          with:
            terraform_version: 0.13.5
    
        - name: Terraform Format
          working-directory: ./deployment/terraform
          run: terraform fmt -recursive -check
    
        - name: Terraform development
          working-directory: ./deployment/terraform
          run: |
            terraform init
            terraform workspace select development
            terraform validate
            terraform plan -var-file=development.tfvars
            terraform apply -var-file=development.tfvars -auto-approve
    
        - name: Terraform production
          working-directory: ./deployment/terraform
          run: |
            terraform init
            terraform workspace select production
            terraform validate
            terraform plan -var-file=production.tfvars
            terraform apply -var-file=production.tfvars -auto-approve
    
    

    실행중인 모습


  • main으로 푸시하면 동작


  • 참고


  • htps : // m / 헤로 / ms / 935d5 268208d411 a b5
  • htps : // 기주 b. 코 m / 하시코 rp / 세츠 p 테라 후 rm
  • 좋은 웹페이지 즐겨찾기