ステップ実行コンテナ
ステップ実行コンテナはどのBitriseプロジェクトにも定義できます。設定ファイルの最上位でコンテナを定義し、それをステップやステップで参照します ステップバンドル。ステップまたはステップバンドルは、参照された実行コンテナで実行されます。同じワークフローまたはパイプライン内で、異なる実行コンテナで異なるステップとステップバンドルを実行できます
重要
コンテナは個々のステップとステップバンドルに適用され、ワークフローやパイプライン全体には適用されません。
実行コンテナを定義するには、以下を設定する必要があります。
-
コンテナの ID。このコンテナを参照するために使用されます。
-
コンテナのタイプ:
execution。 -
使用する Docker イメージの名前とバージョン。
画像を取得する
から任意のパブリック Docker イメージを使用できます Docker Hub。
コンテナーを定義したら、Step または Step バンドルでそれらを参照して、ビルド中に参照されたコンテナーで実行できます。
コンテナ間でのファイル共有
異なるコンテナやホストのBitrise環境間でのファイル共有を可能にするために、BitriseでDockerコンテナを実行するたびに以下のフォルダが共有されます。
-
/bitrise -
/root/.bitrise:/root/.bitrise/ -
tmp:/tmp
デフォルトでは、Bitriseは以下を使用します /bitrise/src 作業ディレクトリとして、これらのフォルダーのいずれかで作成されたものはすべて、すべての Step 実行コンテナで使用できます。
ステップ実行コンテナのみ
これはステップ実行コンテナにのみ適用されます。ボリュームとファイル共有 サービスコンテナ はサポートされていません。
実行コンテナの定義
を使う container 実行コンテナを定義するプロパティ。これらはワークフローエディターで定義することも、設定 YAML ファイルで直接定義することもできます
少なくとも 1 つの実行コンテナを定義したら、その中でステップとステップバンドルを実行できます。 実行コンテナの実行.
ワークフローエディター
コンフィギュレーション YAML
-
でアプリを開きます ビットライズ。
-
クリック メインページのボタン。

-
左側で選択してください コンテナ。
-
に移動 実行コンテナ タブをクリックしてから コンテナを追加。

-
コンテナに必要なプロパティを設定します。それらは以下のとおりです。
-
ユニーク ID: この ID は、設定 YAML ファイル内のコンテナを参照するために使用されます。
-
画像: Docker イメージの名前とバージョン。にある任意のイメージを使用できます ドッカーハブ または、他のレジストリーを使用することもできます。
Docker Hub イメージの場合は、以下を使用してください
[name]:[version]フォーマット。他のレジストリーには以下を使用してください[registry server]/[owner]/[name]:[version]。
-
-
オプションで、にポートマッピングを追加します ポート のフィールド
[HostPort01]:[ContainerPort01]フォーマット。ポートパブリッシングとポートマッピングの詳細については、 Docker の公式ドキュメント。
-
クリック その他のオプションを表示 Docker 認証情報、コンテナの環境変数、および Docker 作成オプションにアクセスします。
-
オプションで、Docker 認証情報を設定します。
認証情報は、次の目的で使用されます。
docker loginコマンド。以下を設定できます。-
レジストリサーバー: 完全修飾レジストリサーバーの URL でなければなりません。サーバがすでにイメージリファレンスの一部になっている場合は省略できます。
-
ユーザー名。
-
[パスワード]。
ヒント
必ず使用してください シークレット Docker 認証情報を設定に渡すため。
-
-
オプションで、にオプションを追加します Docker 作成オプション フィールド。
Docker コンテナのリソースオプションは次のとおりです。に渡されるパラメータ
docker container createコマンド。
使用可能なすべてのオプションのリストについては、 Docker ドキュメンテーション。
-
完了したら、をクリックします コンテナを作成。
-
を追加
containers設定 YAML の最上位にあるプロパティ。YAML シンタックスリファレンス
YAML 構文の詳細なリファレンスについては、を参照してください。 Docker コンテナのプロパティ。
-
コンテナの ID を設定します。
設定内で一意である必要があります。ID はステップまたはステップバンドルでコンテナを指すときに使用されます
containers: node-18:
-
コンテナに必要なプロパティを設定します。それらは以下のとおりです。
-
Docker イメージの名前とバージョン (
name:versionフォーマット。にある画像ならどれでも使用できます ドッカーハブ。 -
コンテナタイプ:
execution。
containers: node-21: type: execution image: node:21.6 node-18: type: execution image: node:18 -
-
オプションで、でポートマッピングを設定します
[HostPort01]:[ContainerPort01]フォーマット。ポートパブリッシングとポートマッピングの詳細については、 Docker の公式ドキュメント。
containers: node-21: type: execution image: node:21.6 ports: - 3000:3000 -
オプションで、Docker 認証情報を設定します。
認証情報は、次の目的で使用されます。
docker loginコマンド。以下を設定できます。-
サーバー:完全修飾レジストリサーバーの URL である必要があります。サーバーが既にイメージリファレンスの一部になっている場合は省略できます。
-
ユーザー名。
-
パスワード。
ヒント
シークレットを使用して Docker 認証情報を設定に渡すことをお勧めします。
containers: node-21: type: execution image: node:21.6 credentials: username: $DOCKER_USERNAME password: $DOCKER_PASSWORD server: us-central1-docker.pkg.dev -
-
オプションで、
options追加の Docker コンテナリソースオプションを設定するためのプロパティ:に渡されるパラメータdocker container createコマンド。この例では、サービスは次のように構成されています ヘルスチェック。
containers: node-21: type: execution image: node:21.6 options: >- --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5使用可能なすべてのオプションのリストについては、 Docker ドキュメンテーション。
実行コンテナの実行
実行コンテナでステップまたはステップバンドルを実行できます。そのためには、を参照してください。 定義済みのコンテナ Step または Step バンドル設定内。
次のことができます。
-
ステップ内のコンテナまたはワークフロー内のステップバンドルを参照してください。そのワークフローが実行されると、ステップまたはステップバンドルはそのコンテナ内で実行されます。
-
Step バンドル定義のコンテナを参照してください。そのステップバンドルがワークフローに追加されると、ワークフロー内でオーバーライドしない限り、デフォルトではそのコンテナ内で実行されます。
このガイドでは、両方のオプションについて説明します。
コンテナネスティング
コンテナはさまざまなレベルで定義できます。ステップとステップバンドルはどちらも独自のコンテナ設定をサポートしています。これにより、異なるレベル間の階層が作成されます。階層を管理する原則については、以下を参照してください コンテナネスティングルール。
ワークフローエディター
コンフィギュレーション YAML
-
ワークフローエディターを開きます。
-
ワークフロー内のステップまたはステップバンドルを選択します。
または、選択することもできます ステップバンドル 左側のナビゲーションメニューで、Step バンドル定義にコンテナを設定します。以降の手順は同じです。
バンドル定義オーバーライド
デフォルトでは、ステップバンドル定義にコンテナを設定すると、ステップバンドルは追加先のワークフローの参照コンテナで実行されます。
ただし、Step Bundle インスタンス (ワークフロー内の Step バンドル) にコンテナを設定すると、Step バンドル定義のコンテナセットが上書きされます。
-
[選択] コンテナ。
-
アンダー 実行コンテナ、をクリックします。 コンテナを追加 メニューからコンテナを選択します。
-
コンテナはすでに実行されているが、コンテナのクリーンインスタンスを実行したい場合は、以下を確認してください。 コンテナを再作成してください。 オプション。
デフォルトでは、Step または Step バンドルは、すでに実行中のコンテナがあればそれを使用します。
-
設定 YAML ファイルを開き、ワークフローを見つけます。
-
を追加
execution_container必要なステップまたはステップバンドルのコンテナ名を含むプロパティ。参照できる実行コンテナは 1 つだけです。ワークフローフォーマット内のステップに実行コンテナを追加します。
workflows: ci: steps: - git-clone: {} - script: execution_container: node-21ワークフロー内のステップバンドルに実行コンテナを追加します。
workflows: ci: steps: - git-clone: {} - script: {} - bundle::test-bundle-id: execution_container: node-21実行コンテナを Step バンドル定義に追加します。
step_bundles: test-bundle-id: steps: - git-clone@8: {} - restore-cache@2: {} execution_container: test-containerバンドル定義オーバーライド
デフォルトでは、ステップバンドルは、追加したワークフローの参照コンテナで実行されます。ただし、ワークフロー内でステップバンドルのコンテナを設定すると、そのコンテナはステップバンドル定義のコンテナセットよりも優先されます
-
コンテナはすでに実行されているが、コンテナのクリーンなインスタンスを実行したい場合は、次のように設定します。
recreateプロパティへtrue。デフォルトでは、Step または Step バンドルは、すでに実行中のコンテナがあればそれを使用します。プロパティを使用してデフォルトの動作を変更してください。
workflows: ci: steps: - git-clone: {} - script: execution_container: node:21 - bundle::test-bundle-id: execution_container: node-21: recreate: true