Skip to main content

ステップ実行コンテナ

ステップ実行コンテナはどの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

  1. でアプリを開きます ビットライズ

  2. クリック ワークフロー メインページのボタン。

    opening-workflow-editor.png
  3. 左側で選択してください コンテナ

  4. に移動 実行コンテナ タブをクリックしてから コンテナを追加

    SCR-20260313-pnzl.png
  5. コンテナに必要なプロパティを設定します。それらは以下のとおりです。

    • ユニーク ID: この ID は、設定 YAML ファイル内のコンテナを参照するために使用されます。

    • 画像: Docker イメージの名前とバージョン。にある任意のイメージを使用できます ドッカーハブ または、他のレジストリーを使用することもできます。

      Docker Hub イメージの場合は、以下を使用してください [name]:[version] フォーマット。他のレジストリーには以下を使用してください [registry server]/[owner]/[name]:[version]

  6. オプションで、にポートマッピングを追加します ポート のフィールド [HostPort01]:[ContainerPort01] フォーマット。

    ポートパブリッシングとポートマッピングの詳細については、 Docker の公式ドキュメント

  7. クリック その他のオプションを表示 Docker 認証情報、コンテナの環境変数、および Docker 作成オプションにアクセスします。

  8. オプションで、Docker 認証情報を設定します。

    認証情報は、次の目的で使用されます。docker loginコマンド。以下を設定できます。

    • レジストリサーバー: 完全修飾レジストリサーバーの URL でなければなりません。サーバがすでにイメージリファレンスの一部になっている場合は省略できます。

    • ユーザー名

    • [パスワード]

    ヒント

    必ず使用してください シークレット Docker 認証情報を設定に渡すため。

  9. オプションで、にオプションを追加します Docker 作成オプション フィールド。

    Docker コンテナのリソースオプションは次のとおりです。に渡されるパラメータ docker container create コマンド。

    SCR-20260313-pruq.png

    使用可能なすべてのオプションのリストについては、 Docker ドキュメンテーション

  10. 完了したら、をクリックします コンテナを作成

  1. を追加 containers 設定 YAML の最上位にあるプロパティ。

    YAML シンタックスリファレンス

    YAML 構文の詳細なリファレンスについては、を参照してください。 Docker コンテナのプロパティ

  2. コンテナの ID を設定します。

    設定内で一意である必要があります。ID はステップまたはステップバンドルでコンテナを指すときに使用されます

    containers:
      node-18:
  3. コンテナに必要なプロパティを設定します。それらは以下のとおりです。

    • Docker イメージの名前とバージョン ( name:version フォーマット。にある画像ならどれでも使用できます ドッカーハブ

    • コンテナタイプ: execution

    containers:
      node-21:
        type: execution
        image: node:21.6
      node-18: 
        type: execution
        image: node:18
  4. オプションで、でポートマッピングを設定します [HostPort01]:[ContainerPort01] フォーマット。

    ポートパブリッシングとポートマッピングの詳細については、 Docker の公式ドキュメント

    containers:
      node-21:
        type: execution
        image: node:21.6
        ports: 
        - 3000:3000
  5. オプションで、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
  6. オプションで、 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

  1. ワークフローエディターを開きます。

  2. ワークフロー内のステップまたはステップバンドルを選択します。

    または、選択することもできます ステップバンドル 左側のナビゲーションメニューで、Step バンドル定義にコンテナを設定します。以降の手順は同じです。

    バンドル定義オーバーライド

    デフォルトでは、ステップバンドル定義にコンテナを設定すると、ステップバンドルは追加先のワークフローの参照コンテナで実行されます。

    ただし、Step Bundle インスタンス (ワークフロー内の Step バンドル) にコンテナを設定すると、Step バンドル定義のコンテナセットが上書きされます。

  3. [選択] コンテナ

  4. アンダー 実行コンテナ、をクリックします。 コンテナを追加 メニューからコンテナを選択します。

  5. コンテナはすでに実行されているが、コンテナのクリーンインスタンスを実行したい場合は、以下を確認してください。 コンテナを再作成してください。 オプション。

    デフォルトでは、Step または Step バンドルは、すでに実行中のコンテナがあればそれを使用します。

  1. 設定 YAML ファイルを開き、ワークフローを見つけます。

  2. を追加 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

    バンドル定義オーバーライド

    デフォルトでは、ステップバンドルは、追加したワークフローの参照コンテナで実行されます。ただし、ワークフロー内でステップバンドルのコンテナを設定すると、そのコンテナはステップバンドル定義のコンテナセットよりも優先されます

  3. コンテナはすでに実行されているが、コンテナのクリーンなインスタンスを実行したい場合は、次のように設定します。 recreate プロパティへ true

    デフォルトでは、Step または Step バンドルは、すでに実行中のコンテナがあればそれを使用します。プロパティを使用してデフォルトの動作を変更してください。

    workflows:
      ci:
        steps:
        - git-clone: {}
        - script:
            execution_container:
            node:21
        - bundle::test-bundle-id:
            execution_container:
              node-21:
                recreate: true