メインコンテンツまでスキップ

実行コンテナー

Step実行コンテナは、任意のBitriseプロジェクトに対して定義できます。コンテナは設定ファイルのトップレベルで定義し、StepまたはStep bundle内で参照します。参照された実行コンテナ内で、StepまたはStep bundleが実行されます。同じWorkflowまたはPipeline内であれば、異なるStepsとStep bundlesを異なる実行コンテナで実行できます。

important

コンテナは個々のStepsおよびStep bundlesに適用され、WorkflowsまたはPipelines全体には適用されません。

実行コンテナを定義するには、以下を設定する必要があります。

  • コンテナのID。このコンテナを参照する際に使用します。

  • コンテナのタイプ: execution。

  • 使用するDockerイメージの名前とバージョン。

    イメージの取得

    Docker Hubから、任意のパブリックDockerイメージを使用できます。

コンテナを定義した後は、StepまたはStep bundle内で参照できます。参照されたコンテナは、ビルド中にその中で実行されます。

コンテナ間のファイル共有Click to copy link​

異なるコンテナとホストのBitrise環境間でファイル共有を有効にするため、BitriseでDockerコンテナを実行するたびに、以下のフォルダが共有されます。

  • /bitrise
  • /root/.bitrise:/root/.bitrise/
  • tmp:/tmp

デフォルトでは、Bitriseは作業ディレクトリとして/bitrise/srcを使用します。これらのフォルダのいずれかに作成されたものはすべて、すべてのStep実行コンテナで利用できます。

Step実行コンテナのみ

これはStep実行コンテナにのみ適用されます。サービスコンテナとのボリュームおよびファイル共有はサポートされていません。

実行コンテナの定義Click to copy link​

実行コンテナを定義するには、containerプロパティを使用します。Workflow Editor上で定義することも、設定YAMLファイルに直接定義することもできます。

少なくとも1つの実行コンテナを定義すると、その中でStepsおよびStep bundlesを実行できます。詳細は実行コンテナの実行を参照してください。

  1. Bitrise にアクセスして Log in、左側の Bitrise CI を選択し、プロジェクトを選択します。

  2. メインページの Workflows ボタンをクリックします。

  3. 左側でContainersを選択します。

  4. Execution containersタブに移動し、Add containerをクリックします。

    SCR-20260313-pnzl.png

  5. コンテナに必要なプロパティを設定します。以下のとおりです。

    • Unique ID: このIDは、設定YAMLファイルでコンテナを参照する際に使用します。

    • Image: Dockerイメージの名前とバージョン。Docker Hubにある任意のイメージ、または他のレジストリを使用できます。

      Docker Hubのイメージの場合は[name]:[version]形式を使用します。他のレジストリの場合は[registry server]/[owner]/[name]:[version]を使用します。

  6. 必要に応じて、Portsフィールドに[HostPort01]:[ContainerPort01]形式でポートマッピングを追加します。

    ポートの公開とポートマッピングの詳細については、Dockerの公式ドキュメントを参照してください。

  7. more optionsを表示をクリックすると、Dockerの認証情報、コンテナのEnvironment Variables、Docker create optionsにアクセスできます。

  8. 必要に応じて、Dockerの認証情報を設定します。

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

    • Registry server: 完全修飾されたレジストリサーバーのURLを指定します。サーバーがすでにイメージ参照に含まれている場合、これは省略可能です。
    • Username。
    • Password。
    ヒント

    Dockerの認証情報を設定に渡すには、シークレットを使用する必要があります。

  9. 必要に応じて、Docker create optionsフィールドにオプションを追加します。

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

    SCR-20260313-pruq.png

    使用可能なすべてのオプションの一覧については、Dockerのドキュメントを参照してください。

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

実行コンテナの実行Click to copy link​

実行コンテナ内でStepまたはStep bundleを実行できます。そのためには、StepまたはStep bundleの設定内で定義済みのコンテナを参照します。

次のことができます。

  • Workflow内のStepまたはStep bundleでコンテナを参照する。そのWorkflowが実行されると、StepまたはStep bundleはそのコンテナ内で実行されます。
  • Step bundleの定義でコンテナを参照する。そのStep bundleがWorkflowに追加されると、Workflow内でオーバーライドしない限り、デフォルトでそのコンテナ内で実行されます。

このガイドでは、両方の方法について説明します。

コンテナのネスト

コンテナは異なるレベルで定義できます。StepsとStep bundlesはどちらも独自のコンテナ設定をサポートします。これにより、異なるレベル間で階層が生まれます。この階層を管理する原則については、コンテナのネストルールを参照してください。

  1. Workflow Editorを開きます。

  2. Workflow内でStepまたはStep bundleを選択します。

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

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

    デフォルトでは、Step bundleの定義でコンテナを設定すると、Step bundleを追加した任意のWorkflowで、参照先のコンテナ内で実行されます。

    ただし、Step bundleインスタンス(Workflow内のStep bundle)でコンテナを設定した場合、Step bundleの定義で設定されたコンテナよりも優先されます。

  3. Containersを選択します。

  4. 実行コンテナの下で、Add containerをクリックし、メニューからコンテナを選択します。

  5. コンテナがすでに実行されていて、クリーンなインスタンスを実行したい場合は、Recreate containerオプションを選択します。

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