IaC 및 CI/CD 플랫폼을 사용하여 Google Cloud에서 신속하게 리소스 배포 자동화

이 기사에서는 Terraform , Cloud Build 및 Github를 사용하여 Google 클라우드 인프라 리소스를 자동으로 배포하는 CI/CD 파이프라인을 설정하는 방법을 간단한 방법으로 보여줍니다.

목표



소스 제어 저장소에 호스팅된 Terraform 코드에서 Google Cloud에 리소스를 자동으로 배포합니다.



요구 사항



이 기사의 모든 단계를 실현하려면 작동하는 Google 클라우드 계정(무료 평가판을 사용할 수 있음), Github 계정 및 Google Cloud 및 Terraform에 대한 기본 지식이 필요합니다.

Cloud Build에 필요한 권한 부여



인프라에서 필요한 배포를 수행하려면 Cloud Build에 적절한 권한이 필요합니다. 이 실습에서는 서비스 계정에 프로젝트 편집자 역할을 부여하여 더 빠르게 진행하겠습니다. Cloud Build 서비스 계정을 가져오고 리소스에 필요한 변경을 수행할 수 있도록 필요한 권한을 부여합니다.

Of course, in a production environment it is necessary to comply with the principle of least privilege.



이렇게 하려면 Cloud Shell에서 다음 명령을 실행합니다.gcloud projects add-iam-policy-binding $PROJECT_ID --member serviceAccount:theCloudBuidServiceAccount --role roles/editor
Cloud Build 서비스 계정을 얻으려면 Cloud Build를 클릭한 다음 설정을 클릭하십시오.


거기에서 서비스 계정의 이메일 주소를 찾을 수 있습니다.


Github 저장소 설정 및 Cloud Build 연결



Github에 로그인하고 새 리포지토리를 만든 다음 Terraform 파일을 업로드하거나 Github에서 직접 새 파일을 편집합니다. [여기를 클릭](https://Github.com/davWK/ci-cd-terraform-cloudbuild_basics하여 예제 인프라 파일 리포지토리를 포크하거나 Terraform에 익숙하고 사용자 지정 인프라를 배포하려는 경우 처음부터 작성합니다. 그런 다음 Cloud Build로 이동하여 빌드 트리거로 자동화된 배포를 설정합니다. , 소스 리포지토리에 새 git 커밋을 푸시할 때마다 Cloud Build 및 해당 빌드 트리거를 사용하여 리소스를 자동으로 배포합니다.
  • Cloud Build로 이동
  • 왼쪽 선택 트리거
  • 트리거 만들기 클릭
  • 이름을 지정하고 이벤트에 대해 분기
  • 에 푸시를 선택합니다.
  • 소스에 대해** 저장소**를 선택하고 새 저장소 연결을 클릭합니다.
    여기에서 Github 리포지토리를 Cloud Source Repositories로 미러링하거나 Google Cloud Build Github 앱을 사용하여 Github 리포지토리를 Cloud Build에 연결할 수 있습니다. 이 경우 응용 프로그램을 사용합니다
    . 앱 구성 후,
  • 트리거 페이지 생성으로 돌아가서 저장소를 클릭하고 새로 생성된 저장소를 선택합니다
  • .
  • 분기에서 ^master$ 또는 ^main$로 설정합니다.
  • 구성 유형으로 Cloud Build 구성 파일(yaml 또는 json)을 선택합니다.
    Github 저장소에서 아래 콘텐츠로 cloudbuid.yaml을 생성합니다.

  • steps:
    - id: 'tf init'
      name: 'hashicorp/terraform:1.0.0'
      entrypoint: 'sh'
      args: 
      - '-c'
      - |
          terraform init
    
    - id: 'tf apply'
      name: 'hashicorp/terraform:1.0.0'
      entrypoint: 'sh'
      args: 
      - '-c'
      - |
          terraform apply -auto-approve
    


    트리거 페이지로 돌아가서 위치에서 리포지토리를 선택하여 yaml 파일의 경로를 입력하거나 인라인을 선택합니다(이 경우 리포지토리에 yaml 파일을 생성할 필요가 없고 yaml 콘텐츠를 코드 편집기에 직접 붙여넣기).
    다른 값은 기본값으로 두고 만들기를 클릭합니다.

    Voila :) 이전에 생성한 yaml 파일을 푸시하면 리소스 배포가 자동으로 시작되어야 합니다. 그렇지 않은 경우 처음으로 수동으로 실행할 수 있습니다. 다음에 Terraform 구성을 업데이트하는 즉시 리소스가 자동으로 수행되어야 합니다.

    좋은 웹페이지 즐겨찾기