Continuous Delivery에 대한 Terraform 설정
Continuous Delivery 2027년 2월 12일부로 다음 지역에서 서비스가 중단될 예정입니다: au-syd, ca-tor, us-east. 또한 해당 날짜를 기점으로 Code Risk Analyzer는 모든 지역에서 서비스가 중단될 예정입니다. 특정 지역에서 해당 기능을 실제로 사용하지 않는 경우, 해당 지역의 기능은 예정보다 일찍 중단될 수 있으며 새로운 인스턴스 등록이 더 이상 허용되지 않을 수 있습니다. 자세히 알아보기
IBM Cloud® 의 Terraform을 사용하면 IBM Cloud 서비스를 예측 가능하고 일관성 있게 생성할 수 있으므로, ‘인프라스트럭처 애즈 코드(Infrastructure as Code, IaC )’ 원칙에 따라 복잡한 다계층 클라우드 환경을 신속하게 구축할 수 있습니다. IBM Cloud CLI나 API 및 SDK를 사용하는 것과 마찬가지로, HashiCorp 구성 언어(HCL)를 사용하여 IBM Cloud® Continuous Delivery 인스턴스의 생성, 업데이트 및 삭제를 자동화할 수 있습니다.
관리되는 Terraform on IBM Cloud® 솔루션을 찾고 있습니까? IBM Cloud® Schematics을 사용해 보십시오. Schematics 를 사용하면 Terraform 명령줄과 IBM Cloud® Provider 플러그인의 설정 및 유지 관리에 대한 걱정 없이, 익숙한 Terraform 스크립팅 언어를 사용할 수 있습니다. 또한 Schematics 는 IBM Cloud® 카탈로그에서 쉽게 설치할 수 있는 미리 정의된 Terraform 템플릿을 제공합니다.
Terraform 설치 및 Continuous Delivery에 대한 리소스 구성
시작하기 전에 continuous-delivery 리소스를 작성하고 이에 대해 작업하기 위한 필수 액세스 및 toolchain 리소스를 작성하고 이에 대해 작업하기 위한 필수 액세스 가 있는지 확인하십시오.
-
Terraform on IBM Cloud 시작하기 튜토리얼에 따라 Terraform CLI를 설치하고 Terraform용 IBM Cloud 제공자 플러그인을 구성하십시오. 이 플러그인은
continuous-delivery서비스 인스턴스와toolchain리소스를 생성, 업데이트 또는 삭제하는 데 사용되는 IBM Cloud API를 추상화합니다. -
이름이
main.tf인 Terraform 구성 파일을 작성하십시오. 이 파일에서 HCL을 사용하여 ‘ Continuous Delivery ’ 서비스 인스턴스를 생성하고, Identity and Access Management (IAM)에서 해당 인스턴스에 대한 액세스 정책을 사용자에게 할당하는 구성을 추가하십시오. 또한 Continuous Delivery 서비스 인스턴스와 동일한 리소스 그룹 및 지역에서 기본 도구 체인 리소스를 작성하고 해당 리소스에 대해 IAM에서 사용자에게 액세스 정책을 지정하도록 구성을 추가합니다. 도구 체인의 사용을 제어하는 도구 체인 및 Continuous Delivery 서비스 인스턴스는 동일한 리소스 그룹 및 지역에 있습니다. Terraform 구성 파일 작업에 대한 자세한 정보는 Terraform 문서를 참조하십시오.다음 예에서 Continuous Delivery 서비스 인스턴스의 이름은
my_cd입니다. 이는default리소스 그룹 및us-south지역에서 전문 가격 플랜을 사용하여 작성됩니다.user1@ibm.com사용자에게는 서비스 인스턴스에 대한 IAM 액세스 정책의 관리자 역할이 지정됩니다.도구 체인 리소스의 이름은
my_toolchain입니다.default자원 그룹 및provider.tf파일의provider "ibm"블록에 지정된 리젼에서 작성됩니다. 이 예제의 경우provider.tf의region는us-south로 설정됩니다.user2@ibm.com사용자에게는 도구 체인 리소스에 대한 IAM 액세스 정책의 편집자 역할이 지정됩니다.data "ibm_resource_group" "default_rg" { name = "default" } resource "ibm_resource_instance" "cd_instance" { name = "my_cd" service = "continuous-delivery" plan = "professional" location = "us-south" resource_group_id = data.ibm_resource_group.default_rg.id } resource "ibm_iam_user_policy" "cd_policy" { ibm_id = "user1@ibm.com" roles = ["Manager"] resources { service = "continuous-delivery" resource_instance_id = element(split(":", ibm_resource_instance.cd_instance.id), 7) } } resource "ibm_cd_toolchain" "toolchain_instance" { name = "my_toolchain" resource_group_id = data.ibm_resource_group.default_rg.id } resource "ibm_iam_user_policy" "toolchain_policy" { ibm_id = "user2@ibm.com" roles = ["Editor"] resources { service = "toolchain" resource_instance_id = ibm_cd_toolchain.toolchain_instance.id } } -
Terraform CLI를 초기화하십시오.
terraform init -
Terraform 실행 플랜을 작성하십시오. Terraform 실행 플랜은 계정에서 Continuous Delivery 서비스 인스턴스, 도구 체인 리소스 및 연관된 IAM 액세스 정책을 작성하기 위해 실행해야 하는 모든 조치를 요약합니다.
terraform plan -
IBM Cloud의 계정에서 Continuous Delivery 서비스 인스턴스, 도구 체인 리소스 및 연관된 IAM 액세스 정책을 작성하십시오.
terraform apply -
IBM Cloud 리소스 목록에서 개발자 도구 섹션을 펼친 후 작성한 Continuous Delivery 서비스 인스턴스를 선택하고 인스턴스 ID를 기록하십시오.
-
액세스 정책이 정상적으로 지정되었는지 확인하십시오. 액세스 정책 지정에 대한 자세한 정보는 콘솔에서 지정된 액세스 검토 를 참조하십시오.
-
IBM Cloud 리소스 목록에서 개발자 도구 섹션을 펼친 후 작성한 도구 체인 리소스를 선택하고 인스턴스 ID를 기록하십시오.
-
액세스 정책이 정상적으로 지정되었는지 확인하십시오.
Terraform으로 Continuous Delivery 서비스 인스턴스에 플랫폼 로그 활성화하기
Continuous Delivery 서비스는 Tekton PipelineRun 로그를 플랫폼 로그로 전송하는 기능을 지원합니다. 이렇게 하면 현재 지역 및 리소스 그룹에 대한 모든 Tekton PipelineRun 로그를 계정으로 수신할 수 있으며, 수신한 로그를 IBM Cloud Logs 과 같은 대상으로 전달하도록 계정을 구성할 수 있습니다.
-
Terraform 구성 파일에서
true값의platform_logging_pipelineruns_enabled매개 변수를 포함하도록 구성을 조정합니다.data "ibm_resource_group" "group" { name = "default" } resource "ibm_resource_instance" "cd_instance" { name = "my_cd" service = "continuous-delivery" plan = "professional" location = "us-south" resource_group_id = data.ibm_resource_group.default_rg.id parameters = { platform_logging_pipelineruns_enabled = "true" } }
다음에 수행할 작업
IBM Cloud 에서 Terraform을 사용하여 첫 번째 Continuous Delivery 서비스 인스턴스와 툴체인 리소스를 성공적으로 생성했으므로, 이제 다음 작업 중 하나를 선택할 수 있습니다:
- Continuous Delivery 서비스 인스턴스 삭제
- 도구 체인 사용
- 도구 통합 구성
- Tekton 파이프라인에 대한 작업
- Delivery Pipeline 개인용 작업자에 대한 작업
- Git으로 도구 체인 작성하기
- 도구 체인에 DevOps Insights 추가
- Continuous Delivery에 대한 개인 데이터 관리
IBM Cloud 제공자 리소스 및 데이터 소스에 대한 자세한 정보는 Terraform 레지스트리 문서를 참조하십시오.