IaC 및 CI/CD 플랫폼을 사용하여 Google Cloud에서 신속하게 리소스 배포 자동화
3542 단어 googlecloudterraformcicdgithub
목표
소스 제어 저장소에 호스팅된 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 및 해당 빌드 트리거를 사용하여 리소스를 자동으로 배포합니다.
여기에서 Github 리포지토리를 Cloud Source Repositories로 미러링하거나 Google Cloud Build Github 앱을 사용하여 Github 리포지토리를 Cloud Build에 연결할 수 있습니다. 이 경우 응용 프로그램을 사용합니다
. 앱 구성 후,
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 구성을 업데이트하는 즉시 리소스가 자동으로 수행되어야 합니다.
Reference
이 문제에 관하여(IaC 및 CI/CD 플랫폼을 사용하여 Google Cloud에서 신속하게 리소스 배포 자동화), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/davwk/quickly-automate-resources-deployment-on-google-cloud-using-an-iac-and-cicd-platform-32bl텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)