ツールチェーンの作成

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

ツールチェーンは、開発、デプロイメント、運用の作業をサポートするツール統合のセットです。 ツールチェーンの集合的な機能は、個々のツール統合の機能を合わせたものより優れています。

オープン・ツールチェーンは、IBM Cloud® で使用可能です。 テンプレートを使ってツールチェーンを作成する、アプリ用にツールチェーンを作成する、 HTTP APIやSDKを使ってツールチェーンを作成する、Terraformを使ってツールチェーンを作成する。

各ツールチェーンは、特定のリソースグループに関連付けられています。 ツールチェーン・リソースまたはそれを含むリソース・グループに対する Identity and Access Management (IAM) ビューアー権限を持つユーザーは、ツールチェーンにアクセスできます。 リソース・グループ内のツールチェーンのアクセス制御について詳しくは、リソース・グループ内のツールチェーンへのユーザー・アクセスの管理を参照してください。

IBM Cloud Public では、使用するテンプレートやツールチェーンに応じて、アプリケーションの開始コードと事前構成されたデリバリー・パイプラインが取り込まれた GitHub または GitHub リポジトリーがツールチェーンに含まれることがあります。 ツールチェーンの GitHub または GitHub リポジトリーに変更をプッシュすると、デリバリー・パイプラインは自動的にアプリをビルドして IBM Cloud にデプロイします。

利用可能なツールチェーンおよびツール統合を確認するには、『ツールチェーンの使用可能状況、テンプレート、チュートリアル』を参照してください。

コンソールを使用したテンプレートからのツールチェーンの作成

テンプレートを出発点として、特定のツール統合セットを含む ツールチェーンを作成することができます。 使用するテンプレートに応じて、特定のツールの統合があるツールチェーンを作成するか、空のツールチェーンを作成してそこにツール統合を追加することができます。 テンプレートの使用方法について詳しくは、 IBM Cloud Garage Methodを参照してください。

  1. IBM Cloud にログインします。

  2. IBM Cloudコンソールから、メニューアイコンハンバーガーアイコン>Platform Automation>Toolchains をクリックします。

  3. 「ツールチェーン」ページで、**「ツールチェーンの作成」**をクリックします。

  4. 「ツールチェーンの作成」ページで、ツールチェーンテンプレートをクリックします。

  5. 作成しようとしているツールチェーンの図を確認します。 この図は、ツールチェーン内の各ツール統合とそのライフサイクル・フェーズを示しています。

    一部のツールチェーン・テンプレートには、同じツール統合の複数のインスタンスが含まれています。 例えば、「Develop and test microservices with Kubernetes and Helm " toolchain template on IBM Cloud Public」には、 GitHub のインスタンス4つと、 Delivery Pipeline のインスタンス4つが含まれています。

    次のイメージの図はその例です。 ツールチェーンを作成すると、ツールチェーンを構成する各ツール統合がこの図に表示されます。

    ツールチェーン図
    サンプル・ツールチェーン

  6. ツールチェーン設定のデフォルト情報を確認します。

    • ツールチェーンの名前は、そのツールチェーンを IBM Cloud 内で識別するためのものです。 別の名前を使用する場合は、ツールチェーンの名前を変更します。
    • ツールチェーンを作成する対象のリージョン。 別のリージョンを利用する場合は、選択可能なリージョンのリストから選んでください。
    • ツールチェーンを作成するリソース・グループ。 別のリソース・グループを使用したい場合は、使用可能なリソース・グループのリストからそのリソース・グループを選択します。
    • GitHub、GitLab、Bitbucket などのソース・リポジトリーのプロバイダー。 別のソース・プロバイダーを利用する場合は、使用可能なリポジトリーのリストから選んでください。
  7. 「ツール統合 (Tool Integrations)」セクションで、ツールチェーンに構成する各ツール統合を選択します。 いくつかのツール統合は、構成を必要としません。 ツール統合の構成について詳しくは、ツール統合の構成を参照してください。

    ツールチェーンを構成するツール統合の多くは、Continuous Delivery サービスによる認証のためにシークレットを必要とします。

    シークレットは、パスワード、認証トークン、API キー、または証明書の形式で提供可能な資格情報です。 例えば、Delivery Pipeline ツール統合をツールチェーンに追加するときは、シークレットを API キーの形式で提供する必要があります。

    a. 「ツール統合」セクションで**「Delivery Pipeline」**をクリックします。

    b. **「新規」**をクリックして IBM Cloud® API キーを作成します。

    c. **「OK」**をクリックして、新しい API キーを適用します。

    各ユーザーは、最大 20 の API キーを持つことができます。

    d. **「OK」**をクリックして、API キーを、そのキーのセキュア・コピーを保存しないで作成します。

    e. 他のツールチェーンのワークフローでも再利用できるよう、APIキーを安全に保存するには:

    • このキーをシークレットストアに保存して再利用可能にする 」チェックボックスを選択すると、 Key Protect または Secrets Manager のシークレットストアと連携できます。
    • Key Protect または Secrets Manager のインスタンスがまだない場合は、インスタンス名とシークレットを指定してください。
    • **「OK」**をクリックして、新しい API キーを適用します。

    f. Key Protect または Secrets Manager インスタンスが正常に作成されたことを確認するには、 IBM Cloud® リソース・リスト に移動し、 サービス ツイスティーを展開します。 APIキーを確認するには、メニューバーから [管理]>[アクセス(IAM)] をクリックし、[ IBM Cloud® APIキー ]を選択します。

    g. 作成して Key Project にコピーした API キーは、「ツールチェーンの作成」ページで使用できるようになりました。 シークレットが必要なツール統合には、鍵アイコンが表示されます。 鍵のアイコンをクリックすると、「シークレットピッカー」ダイアログボックスが開き、1つまたは複数の Key Protect または Secrets Manager インスタンスからシークレットを取得できます。

  8. 「作成」 をクリックします。 以下のようにいくつかのステップが自動的に実行されて、ツールチェーンがセットアップされます。 セットアップされるツール統合は、選択したツールチェーン・テンプレートによって異なります。 例えば、 IBM Cloud Public で「Develop and test microservices with Kubernetes and Helm」ツールチェーンを作成すると、以下のステップが実行されます。

    • ツールチェーンが作成されます。
    • Delivery Pipeline を構成した場合は、パイプラインが作成されて起動します。
    • Event Notifications を設定した場合、ツールチェーンは、指定した Event Notifications サービスにイベント通知を送信するように設定されます。
    • Sauce Labs を構成した場合は、パイプラインに Sauce Labs テスト・ジョブを追加するようにツールチェーンがセットアップされます。
    • PagerDuty を構成した場合は、指定した PagerDuty サービスにアラート通知を送信するようにツールチェーンがセットアップされます。
    • Slack を構成した場合は、指定した Slack チャネルにデプロイメント状況に関する通知を送信するようにツールチェーンがセットアップされます。
    • GitHub などのソース・コード・ツール統合を構成した場合、サンプル GitHub リポジトリーが GitHub アカウントに複製されます。

    を使用してイベント通知を配信できるようになりました。 Event NotificationsIBM Cloud Event Notifications PagerDuty、Slack、Eメール、SMS、プッシュ通知、Webhook、、、。 Microsoft® Teams ServiceNow, IBM Cloud Functions Event Notifications の使用に関する詳細については、 ツールチェーンでイベント通知を有効にするを 参照してください。

コンソールを使用したアプリからのツールチェーンの作成

アプリからツールチェーンを作成することができます。 ツールチェーンは、継続的な開発、デプロイメント、モニターなどをサポートすることができ、アプリと関連付けられます。 各アプリをツールチェーンと関連付けることができます。 ツールチェーンの GitHub リポジトリーに変更をプッシュすると、パイプラインは自動的にアプリをビルドしてデプロイします。

  1. IBM Cloud Public を使用してアプリを作成した場合、そのアプリは、アプリスターターコードが格納された新しい GitHub リポジトリからの継続的デリバリーが設定されています。

  2. ツールチェーン構成ページで、作成しようとしているツールチェーンの図を確認します。 この図は、ツールチェーン内の各ツール統合とそのライフサイクル・フェーズを示しています。

  3. ツールチェーン設定のデフォルト情報を確認します。 ツールチェーンの名前は、そのツールチェーンを IBM Cloud 内で識別するためのものです。 別の名前を使用する場合は、ツールチェーンの名前を変更します。

  4. 「ツール統合 (Tool Integrations)」セクションで、ツールチェーンに構成する各ツール統合を選択します。 いくつかのツール統合は、構成を必要としません。 ツール統合の構成について詳しくは、ツール統合の構成を参照してください。

  5. 「作成」 をクリックします。 以下のようにいくつかのステップが自動的に実行されて、ツールチェーンがセットアップされます。 例えば、IBM Cloud Public でアプリからツールチェーンを作成する場合、以下のステップが実行されます。

    • ツールチェーンが作成されます。
    • Delivery Pipeline を構成した場合は、パイプラインが作成されて起動します。
    • GitHub を構成した場合は、GitHub アカウントにサンプル GitHub リポジトリーが複製されます。

API を使用したツールチェーンの作成

  1. IAM ベアラー・トークンを取得します。 あるいは、SDK を使用している場合は、 IAM API キーを取得 し、環境変数を使用してクライアント・オプションを設定します。

    export CD_TOOLCHAIN_AUTH_TYPE=iam && \
    export CD_TOOLCHAIN_APIKEY={iam_api_key} && \
    export CD_TOOLCHAIN_URL={base_url}
    
  2. ツールチェーンを作成したい リソース・グループの ID を検索 します。

  3. ツールチェーンを作成する場所となるリージョンを選択します。

  4. ツールチェーンのインスタンスを作成します。

    curl -X POST \
      "{base_url}/toolchains" \
      -H 'Authorization: Bearer {token}' \
      -H 'Content-Type: application/json' \
        -d '{
        "name": "{toolchain_name}",
        "resource_group_id": "{resource_group_id}"
      }'
    
    const CdToolchainV2 = require('@ibm-cloud/continuous-delivery/cd-toolchain/v2');
    const toolchainService = CdToolchainV2.newInstance();
    ...
    (async() => {
       const toolchainPrototypeModel = {
          description: {toolchain_description},
          name: {toolchain_name},
          resourceGroupId: {resource_group_id}
       };
       const response = await toolchainService.createToolchain(toolchainPrototypeModel);
    })();
    
    import (
    	   "github.com/IBM/continuous-delivery-go-sdk/cdtoolchainv2"
    )
    ...
    toolchainClientOptions := &cdtoolchainv2.CdToolchainV2Options{}
    toolchainClient, err := cdtoolchainv2.NewCdToolchainV2UsingExternalConfig(toolchainClientOptions)
    createToolchainOptions := toolchainClient.NewCreateToolchainOptions({toolchain_name}, {resource_group_id})
    createToolchainOptions.SetDescription({toolchain_description})
    toolchain, response, err := toolchainClient.CreateToolchain(createToolchainOptions)
    
    from ibm_continuous_delivery.cd_toolchain_v2 import CdToolchainV2
    ...
    toolchain_service = CdToolchainV2.new_instance()
    toolchain = toolchain_service.create_toolchain(
       description = {toolchain_description},
       name = {toolchain_name},
       resource_group_id = {resource_group_id}
    )
    
    import com.ibm.cloud.continuous_delivery.cd_toolchain.v2.CdToolchain;
    import com.ibm.cloud.continuous_delivery.cd_toolchain.v2.model.*;
    ...
    CdToolchain toolchainService = CdToolchain.newInstance();
    CreateToolchainOptions createToolchainOptions = new CreateToolchainOptions.Builder()
       .description({toolchain_description})
       .name({toolchain_name})
       .resourceGroupId({resource_group_id})
       .build();
    Response<ToolchainPost> response = toolchainService.createToolchain(createToolchainOptions).execute();
    ToolchainPost toolchain = response.getResult();
    

以下の表では、前のステップで使用された各変数をリストして説明します。

APIでツールチェーンをプロビジョニングするための変数
変数 説明
{base_url} Toolchain API のエンドポイント URL、例えば https://api.us-south.devops.cloud.ibm.com/toolchain/v2。 このエンドポイント URL の詳細については、値のリストも含めて、 エンドポイント URL を参照のこと。
{iam_api_key} IAM API キー。
{resource_group_id} ツールチェーンをプロビジョンする先のリソース・グループの ID。 使用可能なリソース・グループの ID を見つけるには、 ibmcloud resource groups を実行します。
{token} 有効なIAMベアラー・トークン。
{toolchain_description} ご使用のツールチェーンの説明。
{toolchain_name} ツールチェーンの名前。

API を使用したツールチェーンの作成について詳しくは、 IBM Cloud API 資料の ツールチェーンの作成 を参照してください。

Terraform を使用したツールチェーンの作成

  1. Terraform CLI をインストールし、Terraform 用の IBM Cloud Provider プラグインを構成するために、Terraform on IBM Cloud® 入門のチュートリアルに従ってください。

  2. main.tfという名前の Terraform 構成ファイルを作成します。 このファイルに、 HashiCorp 構成言語を使用してツールチェーンを作成するための設定を追加してください。 この構成言語の使用について詳しくは、 Terraform の資料を参照してください。

    以下の例では、 ibm_cd_toolchain リソースを使用してツールチェーンを作成します。

    data "ibm_resource_group" "group" {
      name = "default"
    }
    resource "ibm_cd_toolchain" "cd_toolchain" {
      name              = "my toolchain"
      resource_group_id = data.ibm_resource_group.group.id
    }
    

    ibm_cd_toolchain について詳しくは、 Terraform レジストリーの資料で引数参照の詳細を参照してください。

  3. Terraform CLI を初期設定します。

    terraform init
    
  4. Terraform 実行プランを作成します。 このプランは、ツールチェーンを作成するために実行する必要があるすべてのアクションを要約します。

    terraform plan
    
  5. Terraformの実行プランを適用します。 Terraform は、ツールチェーンを作成するために必要なすべてのアクションを実行します。

    terraform apply
    

ツールチェーンの表示

コンソール、CLI、API、または Terraform を使用して、ツールチェーンを表示することができます。

コンソールを使用してツールチェーンを表示する

ツールチェーンとそのツール統合を構成した後、ツールチェーンのビジュアル表示を確認することができます。

アプリの詳細ページからツールチェーン名をクリックすることにより、アプリからツールチェーンを表示することができます。

  1. IBM Cloudコンソールから、メニューアイコンハンバーガーアイコン>Platform Automation>Toolchains をクリックします。

  2. [ツールチェーン] ページで、 リソースグループロケーションを選択します。 選択したリソースグループおよびロケーションに含まれるすべてのツールチェーンが表示されます。 表示するツールチェーンをクリックして、「概要」ページを開きます。 代わりに、アプリの「アプリの詳細」ページで、ツールチェーン名をクリックすることもできます。

  3. ツールチェーン内のツール統合にアクセスするには、該当するカード (**「デリバリー・パイプライン」**など) に移動し、ツール統合をクリックします。

    ツールチェーンは、 「リソース・リスト」「開発者ツール」 カテゴリー内にもあります。 デフォルトでは、「リソース」リストには、複数のリソース・グループおよびロケーションにわたるツールチェーンおよびその他のリソースが表示されます。

    複数の GitHub または Git リポジトリーがある場合、各リポジトリーは個別に表されるため、**「リポジトリー」**カード内に同じツール統合の複数のインスタンスが存在する可能性があります。 パイプラインが複数ある場合、各パイプラインは個別に扱われるため、同じツール連携が複数存在することがあります。 例えば、"Develop and test microservices with Kubernetes and Helm " toolchainを作成した場合、各マイクロサービスにはそれぞれ独自の GitHub または Git リポジトリと独自のパイプラインがあります。

CLI からのツールチェーンの表示

コマンド・ライン・インターフェース (CLI) ツールチェーン・ビューは、ターゲットとなるリソース・グループによって異なります。 対象のリソースグループを指定または変更するには、以下のコマンドを使用します。

  • 現在ターゲットにしているリソース・グループを表示するには、以下のコマンドを実行します。
ibmcloud target
  • リソースグループが設定されていない場合、またはリソースグループを変更したい場合は、次のコマンドを実行してください:
ibmcloud target -g [RESOURCE-GROUP]
  • ターゲット・リソース・グループに含まれているツールチェーンを表示するには、以下のコマンドを実行します。
ibmcloud dev toolchains
  • 特定のツールチェーンの詳細を表示するには、以下のコマンドを実行します。
ibmcloud dev toolchain-get [TOOLCHAIN-NAME]
  • ツールチェーンの詳細をブラウザーで表示するには、以下のコマンドを実行します。
ibmcloud dev toolchain-open [TOOLCHAIN-NAME]

API を使用したツールチェーンの取得

  1. IAM ベアラー・トークンを取得します。 あるいは、SDK を使用している場合は、 IAM API キーを取得 し、環境変数を使用してクライアント・オプションを設定します。

    export CD_TOOLCHAIN_AUTH_TYPE=iam && \
    export CD_TOOLCHAIN_APIKEY={iam_api_key} && \
    export CD_TOOLCHAIN_URL={base_url}
    
  2. ツールチェーンが存在する リソース・グループの ID を検索します

  3. ツールチェーンが存在するリージョンを選択します。

  4. リソースグループ内のツールチェーンの一覧を取得します。

    curl -X GET \
      "{base_url}/toolchains?resource_group_id={resource_group_id}" \
      -H 'Authorization: Bearer {token}' \
      -H 'Accept: application/json'
    
    const CdToolchainV2 = require('@ibm-cloud/continuous-delivery/cd-toolchain/v2');
    const toolchainService = CdToolchainV2.newInstance();
    ...
    (async() => {
       const response = await toolchainService.listToolchains({
          resourceGroupId: {resource_group_id}
       });
    })();
    
    import (
    	   "github.com/IBM/continuous-delivery-go-sdk/cdtoolchainv2"
    )
    ...
    toolchainClientOptions := &cdtoolchainv2.CdToolchainV2Options{}
    toolchainClient, err := cdtoolchainv2.NewCdToolchainV2UsingExternalConfig(toolchainClientOptions)
    listToolchainsOptions := toolchainClient.NewListToolchainsOptions({resource_group_id})
    toolchains, response, err := toolchainClient.ListToolchains(listToolchainsOptions)
    
    from ibm_continuous_delivery.cd_toolchain_v2 import CdToolchainV2
    ...
    toolchainService = CdToolchainV2.new_instance()
    toolchains = toolchainService.list_toolchains(
       resource_group_id = {resource_group_id}
    )
    
    import com.ibm.cloud.continuous_delivery.cd_toolchain.v2.CdToolchain;
    import com.ibm.cloud.continuous_delivery.cd_toolchain.v2.model.*;
    ...
    CdToolchain toolchainService = CdToolchain.newInstance();
    ListToolchainsOptions listToolchainsOptions = new ListToolchainsOptions.Builder()
       .resourceGroupId({resource_group_id})
       .build();
    Response<ToolchainCollection> response = toolchainService.listToolchains(listToolchainsOptions).execute();
    ToolchainCollection toolchains = response.getResult();
    
  5. 特定のツールチェーンを取得します。

    curl -X GET \
      {base_url}/toolchains/{toolchain_id} \
      -H 'Authorization: Bearer {token}' \
      -H 'Accept: application/json'
    
    const CdToolchainV2 = require('@ibm-cloud/continuous-delivery/cd-toolchain/v2');
    const toolchainService = CdToolchainV2.newInstance();
    ...
    (async() => {
       const response = await toolchainService.getToolchainById({
          toolchainId: {toolchain_id}
       });
    })();
    
    getToolchainByIDOptions := toolchainClient.NewGetToolchainByIDOptions({toolchain_id})
    toolchain, response, err := toolchainClient.GetToolchainByID(getToolchainByIDOptions)
    
    toolchain = toolchainService.get_toolchain_by_id(
       toolchain_id = {toolchain_id}
    )
    
    GetToolchainByIdOptions getToolchainByIdOptions = new GetToolchainByIdOptions.Builder()
       .toolchainId({toolchain_id})
       .build();
    Response<Toolchain> response = toolchainService.getToolchainById(getToolchainByIdOptions).execute();
    Toolchain toolchain = response.getResult();
    

以下の表では、前のステップで使用された各変数をリストして説明します。

APIでツールチェーンを表示するための変数
変数 説明
{base_url} Toolchain API のエンドポイント URL、例えば https://api.us-south.devops.cloud.ibm.com/toolchain/v2。 このエンドポイント URL の詳細については、値のリストも含めて、 エンドポイント URL を参照のこと。
{resource_group_id} ツールチェーンが含まれているリソース・グループの ID。 使用可能なリソース・グループの ID を見つけるには、 ibmcloud resource groups を実行します。
{token} 有効なIAMベアラー・トークン。
{toolchain_id} ツールチェーンの ID。

API を使用してツールチェーンをリストし、API を使用してツールチェーンを取得する方法について詳しくは、 IBM Cloud API 資料の ツールチェーンのリストの取得 および ツールチェーンの取得 を参照してください。

Terraform を使用したツールチェーンの表示

  1. 既存のツールチェーンの resource ブロックを含む Terraform ファイル (例えば、 main.tf) を見つけます。

  2. output ブロックを Terraform ファイルに追加します (まだブロックが含まれていない場合)。

    以下の例の resource は、既存のツールチェーンについて説明しています。 output ブロックは、ツールチェーン・リソースの属性を出力するように Terraform に指示します。

    data "ibm_resource_group" "group" {
      name = "default"
    }
    resource "ibm_cd_toolchain" "cd_toolchain" {
      name              = "my toolchain"
      resource_group_id = data.ibm_resource_group.group.id
    }
    output "cd_toolchain_attributes" {
      value = ibm_cd_toolchain.cd_toolchain
    }
    

    ibm_cd_toolchain について詳しくは、 Terraform レジストリーの資料で引数参照の詳細を参照してください。

  3. Terraform CLI を初期設定します。

    terraform init
    
  4. refresh-only オプションを指定して Terraform 実行プランを適用します。 Terraform はその状態をリフレッシュし、ツールチェーン・リソースの属性を表示します。

    terraform apply -refresh-only -auto-approve