コンテナー・イメージのビルド

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

Classic パイプライン または Tekton パイプラインのいずれかを使用して、コンテナー・イメージをビルドすることができます。

Classic パイプライン

コンテナー・レジストリーのジョブ・タイプでコンテナー・イメージをビルドするために Classic パイプラインを使用することができます。 このジョブタイプは、 IBM Cloud® Container Registry にアクセスするためのコンテキストを提供し、ジョブの ビルドスクリプト から Buildkit コマンドを使用します。 いくつかのツールチェーン・テンプレート では、コンテナー・イメージのビルドにこのスクリプトを使用します。

cr build コマンドは非推奨になりました。 既存のビルドコンテナイメージジョブを「 cr build 」コマンドから「 Buildkit 」コマンドに移行するには、ステージのプロパティを編集し、該当するビルドコンテナイメージジョブを選択してください。 build_image.sh を参照している行を、 source <(curl -sSL "https://raw.githubusercontent.com/open-toolchain/commons/master/scripts/build_image_buildkit.sh") に置き換えてください。 このスクリプトを使用するように切り替える場合、対応するステージの新しい IBM_CLOUD_API_KEY シークレット環境変数を指定する必要があります。 この API キーには、イメージをビルドする名前空間に対するアクセス権限がなければなりません。 IBM_CLOUD_API_KEY シークレット環境変数を指定しないと、ログに 401 エラーが示されます。

Tekton パイプライン

Continuous Delivery サービスには、コンテナー・イメージをビルドするためにパイプライン内で参照できる、いくつかの Tekton タスクが含まれています。 これらのタスクは、 Open Toolchain Tekton カタログに保存されています:

  • icr-containerize: イメージをビルドして IBM Cloud® Container Registry にプッシュします。 このタスクでは、コンテナイメージのビルドに Buildkit を使用します。

  • icr-execute-in-dind: サイドカーコンテナとして実行されている Docker エンジンに対して、buildやinspectなどの Docker コマンドを実行します。 その後、結果のイメージを IBM Cloud® Container Registry に対してプッシュします。

  • icr-execute-in-dind-cluster: Kubernetes クラスタ内で実行中の Docker エンジンに対して、buildやinspectなどの Docker コマンドを実行します。 Docker DinD がビルド・クラスターで使用できない場合、新しいものがデプロイされます。 その後、結果のイメージを IBM Cloud® Container Registry に対してプッシュします。

cr build コマンドは非推奨になりました。 このコマンドを使用するか、 icr-cr-build タスクからこれを参照することで、 icr-containerizeicr-execute-in-dind、または icr-execute-in-dind-cluster といった Tekton タスクに移行し、コンテナイメージをビルドすることができます。