Continuous Delivery サービス・インスタンスの作成

DevOps Insights 2026年8月31 日にサービス終了となり、提供が中止されます。 Continuous Delivery は、2027年2月12日に以下のリージョンで提供が中止されます: au-sydca-torus-east。 また、同日をもって、Code Risk Analyzerもすべての地域で提供を終了いたします。 あるリージョンでこれらの機能が実際に利用されていない場合、そのリージョンにおける機能は早期に提供が終了し、新しいインスタンスの受け入れが停止される可能性があります。 詳細はこちら

特定のツールの統合を含むツールチェーンを作成して使用するには、その前に IBM Cloud® Continuous Delivery サービス・インスタンスを作成する必要があります。 この制限について詳しくは、サービス・インスタンスの有効範囲を参照してください。

Continuous Delivery サービス・インスタンスを作成した後、 継続的デリバリー・ツールチェーンを作成 できます。

1 つのリージョンとリソース・グループに作成できる Continuous Delivery のアクティブ・インスタンスは 1 つだけです。 既存のサービス・インスタンスの削除については、Continuous Delivery サービス・インスタンスの削除を参照してください。

企業で プロフェッショナルプランの Continuous Delivery サービスインスタンスが複数ある場合、 アカウント課金される認証ユーザーの総数を減らすことができる場合があります。 詳しくは、 統合請求 を参照してください。

コンソールを使用した Continuous Delivery サービス・インスタンスの作成

  1. IBM Cloud にログインします。
  2. IBM Cloud コンソールから、**「カタログ」をクリックし、「サービス」**を選択します。
  3. **「開発者用ツール」**カテゴリーを選択します。
  4. Continuous Delivery タイルをクリックします。
  5. Continuous Delivery サービスを作成するリージョンを選択します。
  6. 「Lite」または「Professional」の料金プランをお選びください。 「ライト」プランは、小規模チームに対して Continuous Delivery の全機能を無料で提供します (ただし、使用制限があります)。 「ライト」プランのインスタンスは、作成してから 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 」インスタンスとルートキーが存在すること、および「 権限の管理 」セクションでツールチェーンリソースが Key Protect または Hyper Protect Crypto Services へのアクセス権限を持っていることを確認してください。 Hyper Protect Crypto Services サービス・インスタンスで現在サポートされているのは、プライベート・エンドポイントのみです。 暗号化されるデータのタイプについて詳しくは、 プロフェッショナル・プランを使用する場合の個人データの保護 を参照してください。
  11. 「作成」 をクリックします。

CLI から「 Continuous Delivery 」サービスインスタンスを作成する

  1. IBM Cloud CLI を使用して IBM Cloud にログインします。

    ibmcloud login
    

    ログインに失敗した場合は、ibmcloud login --ssoコマンドを実行して再試行してください。 フェデレーテッドIDを使用してログインする場合は、--ssoパラメーターが必要です。 このオプションを使用する場合は、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 Provider プラグインを構成するために、Terraform on IBM Cloud 入門のチュートリアルに従ってください。

  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 レジストリーの資料で引数参照の詳細を参照してください。

    お客様管理の暗号化を使用するようにサービス・インスタンスをプロビジョンするには、parameters 属性を追加し、鍵管理サービス・インスタンス 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