並行ステップ

このページの内容

お困りですか?

アトラシアン コミュニティをご利用ください。

コミュニティに質問

はじめに

並行ステップを使用すると、一連のステップを同時に実行して、ビルドやテストを迅速に行えます。

並列または単独のどちらで実行されているかにかかわらず、パイプラインで実行できるステップの合計数は 10 に制限されています。

この機能は次のように使用できます。

  1. ソフトウェアをビルドするための最初のステップ
  2. ソフトウェアをテストするための一連の並行ステップ:
    • ユニット テスト
    • lint
    • 連携テスト
    • ブラウザ テスト

Only one deployment can run at a time, so don’t try and put more than one in a parallel step!


最初のステップで、Docker コンテナの環境を可能な限り多く定義し、外部ビルド依存関係を可能な限り多くキャッシュします。これにより、それぞれのテスト ステップ実行時の時間を節約できます。その後、すべてのテストを同時に実行することで、結果をより迅速に入手できます。

設定

並行して実行したいステップをインデントするだけで、それらを並行するように設定できます。

pipelines:
  default:
    - step:          # non-parallel step
        script:
          - ./build.sh
    - parallel:      # these 2 steps will run in parallel
        - step:
            script:
              - ./integration-tests.sh --batch 1
        - step:
            script:
              - ./integration-tests.sh --batch 2
    - step:          # non-parallel step
        script:
          - ./deploy.sh

アーティファクト

並行ステップでは、アーティファクトを生成及び消費できます。次の点に注意します。

  • 並行ステップでは、以前のステップで生成されたアーティファクトのみを使用できます。同じ並行セットのステップで生成されたものは使用できません。
  • 並行セットの後のステップでは、生成されたすべてのファイルの組み合わせを取得します。
  • ファイルを含むアーティファクトが並行ステップによって同じ場所に生成された場合、競合がファイル単位で解消され、YAML ファイルの最後のステップで生成されたファイルが優先されます。

次の画像は、アーティファクトの組み合わせ方法を示しています。

最新バージョンのファイルの優先を示すイメージ

デフォルトの変数

If you want to do some fancy logic in your scripts, the following variables are available during the parallel steps:

  • BITBUCKET_PARALLEL_STEP - zero-based index of the current step in the group, e.g. 0, 1, 2, …
  • BITBUCKET_PARALLEL_STEP_COUNT - total number of steps in the group, e.g. 5.

ビルド時間 (分)

ステップを並行した場合も、パイプラインが使用する合計のビルド時間数は変わりません。ただし、結果はより早く表示されます。結果を迅速に取得できるため、反復サイクルをそれだけ短縮できます。

最終更新日: 2019 年 2 月 15 日

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.