Continuous Delivery 서비스 인스턴스 작성

DevOps Insights 2026년 8월 31일에 서비스 종료되어 중단될 예정입니다. Continuous Delivery 은 2027년 2월 12일에 au-syd, ca-tor, us-east 지역에서 중단될 예정입니다. 또한 해당 날짜를 기점으로 Code Risk Analyzer는 모든 지역에서 서비스가 중단될 예정입니다. 특정 지역에서 해당 기능을 실제로 사용하지 않는 경우, 해당 지역의 기능은 예정보다 일찍 중단될 수 있으며 새로운 인스턴스 등록이 더 이상 허용되지 않을 수 있습니다. 자세히 알아보기

IBM Cloud® Continuous Delivery 서비스 인스턴스가 있어야 특정 도구 통합을 포함하는 도구 체인을 작성하고 사용할 수 있습니다. 이 제한사항에 관한 자세한 정보는 서비스 인스턴스 범위를 참조하십시오.

Continuous Delivery 서비스 인스턴스를 작성한 후에 지속적 딜리버리 도구 체인을 작성 할 수 있습니다.

지역 및 리소스 그룹에만 Continuous Delivery의 활성 인스턴스가 하나 있을 수 있습니다. 기존 서비스 인스턴스를 삭제하는 데 관한 정보는 Continuous Delivery 서비스 인스턴스 삭제를 참조하십시오.

기업에서 프로페셔널 요금제를 사용하는 Continuous Delivery 서비스 인스턴스가 여러 개 있는 경우 계정에 요금이 청구되는 총 인증 사용자 수를 줄일 수 있습니다. 자세히 알아보려면 통합 청구 를 참조하십시오.

콘솔을 사용하여 Continuous Delivery 서비스 인스턴스 작성

  1. IBM Cloud에 로그인하십시오.
  2. IBM Cloud 콘솔에서 카탈로그를 클릭하고 서비스를 선택하십시오.
  3. 개발자 도구 카테고리를 선택하십시오.
  4. Continuous Delivery 타일을 클릭하십시오.
  5. Continuous Delivery 서비스를 작성할 지역을 선택하십시오.
  6. Lite 또는 Professional 요금제를 선택하세요. Lite 플랜에서는 소규모 팀에게 무료로 Continuous Delivery의 전기능을 제공하며 사용량 제한이 있습니다. Lite 플랜 인스턴스를 작성하는 경우 작성 후 30일 내에 자동으로 삭제됩니다. Continuous Delivery 서비스 플랜에 관한 자세한 정보는 플랜 제한사항 및 사용량을 참조하십시오.
  7. 리소스 구성 섹션에 작성할 Continuous Delivery 인스턴스의 이름을 지정하십시오.
  8. Continuous Delivery 서비스 인스턴스를 작성할 리소스 그룹을 선택하십시오. Continuous Delivery 서비스 인스턴스를 작성한 다음에는 선택한 리소스 그룹을 변경할 수 없습니다. IBM Cloud 계정에서 리소스를 구성하는 방법에 관한 자세한 정보는 리소스 그룹에 리소스를 구성하는 우수 사례를 참조하십시오.
  9. 리소스 목록에 리소스를 구성하고 필터링하는 데 사용하는 태그를 지정하십시오. 이 태그를 사용하여 팀 사용량 또는 비용 할당을 식별할 수 있습니다. 이 태그는 계정 전체에 표시됩니다. 태그 사용에 대한 자세한 정보는 태그 작업을 참조하십시오.
  10. ‘Professional’ 요금제를 선택한 경우, ‘ IBM® Key Protect for IBM Cloud® ’ 서비스 인스턴스 또는 ‘ IBM Cloud® ’ Hyper Protect Crypto Services 인스턴스와, 개인정보를 암호화하는 데 사용되는 루트 키를 선택할 수 있습니다. Key Protect 인스턴스 또는 Hyper Protect Crypto Services 인스턴스와 루트 키가 존재하는지 확인하고, ‘권한 관리(Manage Authorizations )’ 섹션에서 툴체인 리소스가 Key Protect 또는 Hyper Protect Crypto Services 에 액세스할 수 있는 권한이 부여되어 있는지 확인하십시오. 현재 Hyper Protect Crypto Services 서비스 인스턴스에 대해 개인용 엔드포인트만 지원됩니다. 암호화되는 데이터 유형에 대한 자세한 정보는 Professional 플랜을 사용할 때 개인 데이터 보호 를 참조하십시오.
  11. 작성을 클릭하십시오.

CLI를 사용하여 Continuous Delivery 서비스 인스턴스 생성하기

  1. IBM Cloud CLI 를 사용하여 IBM Cloud 에 로그인하십시오.

    ibmcloud login
    

    로그인에 실패하면 ibmcloud login --sso 명령을 실행하여 다시 시도하십시오. --sso 매개변수는 연합 ID로 로그인할 때 필요합니다. 이 옵션을 사용하는 경우 CLI 출력에 나열된 링크로 이동하여 일회성 패스코드를 생성하십시오.

  2. Continuous Delivery 서비스 인스턴스를 작성할 계정, 지역 및 리소스 그룹을 선택하십시오.

    ibmcloud target -c ACCOUNT -r REGION -g RESOURCE_GROUP
    
  3. 대상 계정, 지역 및 리소스 그룹 내에 Continuous Delivery 의 인스턴스를 작성하십시오.

    ibmcloud resource service-instance-create INSTANCE_NAME continuous-delivery PLAN REGION -p ENCRYPTION
    

다음 표에서는 이전 단계에서 사용된 각 변수를 나열하고 설명합니다.

CLI에서 Continuous Delivery 서비스 프로비저닝을 위한 변수
가변 설명
ACCOUNT 서비스 인스턴스를 프로비저닝할 계정의 이름 또는 ID입니다. 사용 가능한 계정의 이름 및 ID를 찾으려면 ibmcloud account list 를 실행하십시오.
ENCRYPTION 선택사항입니다. 고객 관리 암호화를 사용하도록 서비스 인스턴스를 프로비저닝하려면 -p '{"kms_info": {"id": <kms_instance_id>, "url": <kms_url>}, "kms_key": {"id": <kms_root_key_id>, "crn": <kms_transaction_crn>}} 를 추가하십시오.
INSTANCE_NAME 서비스 인스턴스의 이름입니다.
PLAN 사용하려는 요금제의 이름 또는 ID. 사용 가능한 플랜의 이름 및 ID를 찾으려면 ibmcloud catalog service continuous-delivery 를 실행하십시오.
REGION 서비스 인스턴스를 프로비저닝할 지역입니다. 예를 들어, us-south입니다.
RESOURCE_GROUP 서비스 인스턴스를 프로비저닝할 리소스 그룹의 이름 또는 ID입니다. 사용 가능한 자원 그룹의 이름 및 ID를 찾으려면 ibmcloud resource groups 를 실행하십시오.

플랜 ID 또는 인스턴스를 작성한 후 서비스 플랜을 업데이트하는 방법에 대한 자세한 정보는 서비스 플랜 업데이트 를 참조하십시오.

API를 사용하여 Continuous Delivery 서비스 인스턴스 생성하기

  1. IAM 베어러 토큰을 확보하십시오. 또는 SDK를 사용하는 경우 IAM API키를 얻고 환경 변수를 사용하여 클라이언트 옵션을 설정하십시오.

    export RESOURCE_CONTROLLER_APIKEY={iam_api_key}
    
  2. 인스턴스를 작성할 리소스 그룹의 ID를 검색 하십시오.

  3. 인스턴스를 작성할 지역을 선택하십시오.

  4. 작성하려는 인스턴스의 서비스 플랜의 ID를 찾으십시오.

  5. 대상 계정, 지역 및 리소스 그룹 내에 Continuous Delivery 의 인스턴스를 작성하십시오.

    curl -X POST \
      https://resource-controller.cloud.ibm.com/v2/resource_instances \
      -H 'Authorization: Bearer {token}' \
      -H 'Content-Type: application/json' \
        -d '{
        "name": "{instance_name}",
        "target": "{region}",
        "resource_group": "{resource_group_id}",
        "resource_plan_id": "{plan_id}"
        "parameters": "{parameters}"
      }'
    
    import com.ibm.cloud.platform_services.resource_controller.v2.ResourceController;
    import com.ibm.cloud.platform_services.resource_controller.v2.model.*;
    ...
    ResourceController resourceControllerService = ResourceController.newInstance();
    CreateResourceInstanceOptions createCdInstanceOptions = new CreateResourceInstanceOptions.Builder()
       .name({instance_name})
       .target({region})
       .resourceGroup({resource_group_id})
       .resourcePlanId({plan_id})
       .build();
    Response<ResourceInstance> response = resourceControllerService.createResourceInstance(createCdInstanceOptions).execute();
    ResourceInstance cdInstance = response.getResult();
    
    const ResourceControllerV2 = require('@ibm-cloud/platform-services/resource-controller/v2');
    const resourceControllerService = ResourceControllerV2.newInstance({});
    ...
    (async () => {
       const params = {
          name: {instance_name},
          target: {region},
          resourceGroup: {resource_group_id},
          resourcePlanId: {plan_id},
       };
       const res = await resourceControllerService.createResourceInstance(params);
       const cdInstanceGuid = res.result.guid;
    })();
    
    from ibm_platform_services import ResourceControllerV2
    ...
    resource_controller_service = ResourceControllerV2.new_instance()
    cd_instance = resource_controller_service.create_resource_instance(
       name={instance_name},
       target={region},
       resource_group={resource_group_id},
       resource_plan_id={plan_id}
    ).get_result()
    
    import {
       "github.com/IBM/platform-services-go-sdk/resourcecontrollerv2"
    }
    ...
    resourceControllerServiceOptions := &resourcecontrollerv2.ResourceControllerV2Options{}
    resourceControllerService, err := resourcecontrollerv2.NewResourceControllerV2UsingExternalConfig(resourceControllerServiceOptions)
    createCdInstanceOptions := resourceControllerService.NewCreateResourceInstanceOptions(
       {instance_name},
       {region},
       {resource_group_id},
       {plan_id},
    )
    cdInstance, response, err := resourceControllerService.CreateResourceInstance(createCdInstanceOptions)
    

다음 표에서는 이전 단계에서 사용된 각 변수를 나열하고 설명합니다.

API로 Continuous Delivery 서비스를 프로비저닝하기 위한 변수
가변 설명
{iam_api_key} IAM API 키.
{instance_name} 서비스 인스턴스의 이름입니다.
{parameters} 고객 관리 암호화를 사용하도록 서비스 인스턴스를 프로비저닝하려면 '{"kms_info": {"id": <kms_instance_id>, "url": <kms_url>}, "kms_key": {"id": <kms_root_key_id>, "crn": <kms_transaction_crn>}} 매개변수를 전달하십시오.
{plan_id} 사용하려는 요금제의 ID입니다.
{region} 서비스 인스턴스를 프로비저닝할 지역입니다. 예를 들어, us-south입니다.
{resource_group_id} 서비스 인스턴스를 프로비저닝할 리소스 그룹의 ID입니다. 사용 가능한 자원 그룹의 ID를 찾으려면 ibmcloud resource groups 를 실행하십시오.
{token} 유효한 IAM 베어러 토큰입니다.

서비스 인스턴스 작성에 대한 자세한 정보는 API를 사용하여 새 리소스 인스턴스 작성 을 참조하십시오.

Terraform을 사용하여 Continuous Delivery 서비스 인스턴스 생성하기

  1. Terraform CLI를 설치하고 Terraform을 위한 IBM Cloud 제공자 플러그인을 구성하려면 IBM Cloud에서 Terraform 시작하기 튜토리얼을 따르십시오.

  2. 이름이 main.tf인 Terraform 구성 파일을 작성하십시오. 이 파일에서 HashiCorp 구성 언어를 사용하여 리소스 인스턴스를 생성하는 구성을 추가하십시오. 이 구성 언어 사용에 대한 자세한 정보는 Terraform 문서를 참조하십시오.

    다음 예제는 ibm_resource_instance 리소스를 사용하여 Continuous Delivery 서비스 인스턴스를 생성합니다. 여기서 name 는 리소스 인스턴스를 식별하는 고유하고 설명적인 이름입니다.

    data "ibm_resource_group" "group" {
      name = "default"
    }
    resource "ibm_resource_instance" "cd_service_instance" {
      name              = "my CD service instance"
      service           = "continuous-delivery"
      plan              = "lite"
      location          = "us-south"
      resource_group_id = data.ibm_resource_group.group.id
    }
    

    ibm_resource_instance 에 대한 자세한 정보는 Terraform 레지스트리 문서에서 인수 참조 세부사항을 참조하십시오.

    고객 관리 암호화를 사용하도록 서비스 인스턴스를 프로비저닝하려면 키 관리 서비스 인스턴스 ID및 루트 키 ID로 매개변수 속성을 추가하고 채우십시오.

      parameters = {
        kms_instance = <kms_instance_id>
        kms_key = <kms_key>
      }
    
  3. Terraform CLI를 초기화하십시오.

    terraform init
    
  4. Terraform 실행 플랜을 작성하십시오. 이 플랜은 Continuous Delivery 서비스 인스턴스를 작성하기 위해 실행해야 하는 모든 조치를 요약합니다.

    terraform plan
    
  5. Terraform 실행 계획을 적용합니다. Terraform은 Continuous Delivery 서비스 인스턴스를 작성하는 데 필요한 모든 조치를 수행합니다.

    terraform apply