IBM Cloud Docs
ツールチェーンの使用

ツールチェーンの使用

オープン・ツールチェーンは、IBM Cloud® で使用可能です。 ツールチェーンを使用して、日々の開発、デプロイメント、運用の作業における生産性を向上させることができます。 ツールチェーンをセットアップした後、ツール統合の追加、削除、構成と、ツールチェーンへのアクセスの管理を行うことができます。 ツール統合の操作について詳しくは、 ツール統合の操作 を参照してください。

ツールチェーンへのアクセスの管理

Identity and Access Management (IAM) サービスを使用して、リソース・グループ内のツールチェーンへのユーザー・アクセスを管理できます。 IAM を使用したアクセス制御の管理について詳しくは、リソース・グループ内のツールチェーンへのユーザー・アクセスの管理を参照してください。

ツールチェーンに対するアクセス権限を持つユーザーは、IBM Cloud® Continuous Delivery サービスの許可ユーザーとしてカウントされる場合があります。 許可ユーザーがカウントされる方法について詳しくは、 プランの制限と使用法を参照してください。

ツールチェーンの編成

ツールチェーンにタグを追加して編成すると、それらを後で簡単に見つけることができます。 タグは、ツールチェーン・リスト内のツールチェーンを簡単にフィルターに掛けるためにツールチェーンに割り当てるラベルです。

  1. IBM Cloudコンソールから、メニューアイコンハンバーガーアイコン>Platform Automation>Toolchains をクリックします。
  2. 「ツールチェーン」ページで、タグを追加するツールチェーンを見つけて**「タグの追加」**をクリックします。
  3. ツールチェーンに追加するタグの名前を入力します。 複数のタグをコンマで区切って追加できます。
  4. 保存 をクリックします。

タグについて詳しくは、『タグの処理』を参照してください。

アプリ、クラスター、およびサービスへのツールチェーン接続の表示

ツールチェーンのKubernetesクラスタやサービスへの接続を確認できる。

  1. IBM Cloudコンソールから、メニューアイコンハンバーガーアイコン>Platform Automation>Toolchains をクリックします。
  2. 「ツールチェーン」ページで、ツールチェーンをクリックしてその「概要」ページを開きます。 代わりに、アプリの「アプリの詳細」ページで、ツールチェーン名をクリックすることもできます。
  3. **「接続」**タブを選択し、表示するアプリ、クラスター、またはサービスを選択します。

ツールチェーンの削除

ツールチェーンは削除できます。 ツールチェーンを削除すると、そのツールチェーンに属するすべてのツール統合も削除されます。 削除は取り消せない。

Delivery Pipeline ツール統合を削除すると、関連付けられている Delivery Pipeline も削除されます。

GitHub または Git Repos and Issue Tracking ツール統合を削除するときに、関連付けられているリポジトリーは GitHub または Git Repos and Issue Tracking から削除されません。 リポジトリーを手動で削除する必要があります。

コンソールを使用したツールチェーンの削除

  1. IBM Cloudコンソールから、メニューアイコンハンバーガーアイコン>Platform Automation>Toolchains をクリックします。
  2. 「ツールチェーン」ページで、ツールチェーンをクリックしてその「概要」ページを開きます。 代わりに、アプリの「アプリの詳細」ページで、ツールチェーン名をクリックすることもできます。
  3. **「アクション」メニューをクリックし、「削除」**を選択します。 ツールチェーンを削除すると、そのツールチェーンのツール統合がすべて削除されます。結果として、その統合で管理されていたリソースが削除される可能性があります。
  4. ツールチェーンの名前を入力し、**「削除」**をクリックして、削除を確認します。

CLI からのツールチェーンの削除 (ベータ)

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

    ibmcloud login
    

    ログインに失敗した場合は、ibmcloud login --ssoコマンドを実行して再試行してください。 フェデレーテッドIDを使用してログインする場合は、--ssoパラメーターが必要です。 このオプションを使用する場合は、CLI 出力にリストされているリンクに移動して、ワンタイム・パスコードを生成してください。

  2. オプション。 削除するインスタンスを識別するために、ターゲット・アカウント、リージョン、およびリソース・グループ内のすべてのツールチェーンをリストします。

    ibmcloud dev toolchains
    
  3. ibmcloud dev toolchain-delete コマンドを実行して、ツールチェーンを削除します。

    ibmcloud dev toolchain-delete TOOLCHAIN-NAME
    

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

CLIからツールチェインを削除するための変数
変数 説明
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. 削除したいツールチェーンを削除する。

    curl -X DELETE \
      "{base_url}/toolchains/{toolchain_id}" \
      -H 'Authorization: Bearer {token}'
    
    const CdToolchainV2 = require('@ibm-cloud/continuous-delivery/cd-toolchain/v2');
    const toolchainService = CdToolchainV2.newInstance();
    ...
    (async() => {
       const response = await toolchainService.deleteToolchain({
          toolchainId: {toolchain_id}
       });
    })();
    
    import (
    	   "github.com/IBM/continuous-delivery-go-sdk/cdtoolchainv2"
    )
    ...
    toolchainClientOptions := &cdtoolchainv2.CdToolchainV2Options{}
    toolchainClient, err := cdtoolchainv2.NewCdToolchainV2UsingExternalConfig(toolchainClientOptions)
    deleteToolchainOptions := toolchainClient.NewDeleteToolchainOptions({toolchain_id})
    response, err := toolchainClient.DeleteToolchain(deleteToolchainOptions)
    
    from ibm_continuous_delivery.cd_toolchain_v2 import CdToolchainV2
    ...
    toolchain_service = CdToolchainV2.new_instance()
    response = toolchain_service.delete_toolchain(
       toolchain_id = toolchain_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();
    DeleteToolchainOptions deleteToolchainOptions = new DeleteToolchainOptions.Builder()
       .toolchainId({toolchain_id})
       .build();
    Response<Void> response = toolchainService.deleteToolchain(deleteToolchainOptions).execute();
    

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

APIでツールチェーンを削除するための変数
変数 説明
{base_url} ツールチェーン API エンドポイント URL (例: https://api.us-south.devops.cloud.ibm.com/toolchain/v2)。 このエンドポイント URL (値のリストを含む) について詳しくは、 エンドポイント URLを参照してください。
{iam_api_key} IAM API キー。
{token} 有効な IAM ベアラ・トークン。
{toolchain_id} 削除したいツールチェーンのID。

Terraform を使用したツールチェーンの削除

  1. 既存のツールチェーンの resource ブロックが含まれている Terraform ファイル (例えば、 main.tf) を見つけます。 ツールチェーンでの Terraform の使用について詳しくは、 Terraform を使用したツールチェーンの作成 を参照してください。

    以下の例の resource は、既存のツールチェーンについて説明しています。

    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
    }
    
  2. Terraform ファイルから resource ブロックを削除します。

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

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

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

    terraform apply
    

異なる地域における代替ツールチェーンの管理

Terraform Configuration Languageを使ってツールチェーンを定義し、アクティブなパイプラインがあるプライマリーリージョンと、アイドルなパイプラインがあるオルタナティブリージョンの2つのリージョンで、ツールチェーン定義を適用・維持することができる。 Git Repos and Issue Trackingを使えば、プライマリ・リージョンからオルタナティブ・リージョンに Gitリポジトリをミラーリング することもできます。 プライマリと代替のツールチェーンとGitレポを維持することで、より迅速なフェイルオーバーと冗長性が実現する。 また、プライマリー・リージョンで問題が発生した場合にも、スムーズなオペレーションが保証される。 Terraformでツールチェーンをコード化することで、ツールチェーンを更新し、その変更を両方のリージョンに適用することができる。

Terraformの使い方については、Continuous Delivery用のTerraformのセットアップ を参照してください。