Skip to main content

パイプラインの構築[ベータ版]

概要

Pipelines with stages are the older way of configuring Pipelines. We recommend switching to the new way where you can define Workflow dependencies to create more flexible configurations, and you no longer have to waste time waiting for a stage to finish.

Bitrise Pipelineは、CI/CD構成の最上位レベルです。パイプラインを使用して、CI / CDプロセス全体を整理し、複数の異なるタスクを並行しておよび/または順次実行する高度な構成をセットアップできます。

You can convert a Pipeline with stages into the new format: ステージのあるパイプラインをグラフパイプラインに変換.

パイプラインの構成要素は次のとおりです。

  • 手順:スクリプト実行のブロック。それぞれがCI/CDプロセスで単一のタスクを定義します。

  • ワークフロー:ステップのコレクション。アプリのビルドが実行されている場合、ステップはワークフローで定義された順序で実行されます。

  • ステージ:ワークフローのコレクション。ステージには、同じステージですべて並行して実行される複数のワークフローを含めることができます。すべてのワークフローがステージで成功すると、パイプラインは次のステージに進みます。ワークフローのいずれかが失敗した場合、特定のステージを常に実行するように構成しない限り、パイプラインは他のステージを実行せずに終了します。

Bitriseパイプラインの構成

現在、パイプラインの構成は、直接編集することによってのみ可能です。 bitrise.yml ファイル。グラフィカルなワークフローエディターでワークフローを作成および変更できますが、パイプラインとステージをYAML形式で定義する必要があります。

パイプライン、ステップ、およびワークフローの定義

The bitrise.yml ファイルには、パイプラインの完全な構成が含まれています。すべてのように bitrise.yml ファイルの場合、最初にフォーマットバージョンとプロジェクトタイプを定義する必要があります。

---
format_version: '8'
default_step_lib_source: 
project_type: android

これは最低限です bitrise.yml 構成。パイプラインを定義するには、パイプライン属性を使用する必要があります。

pipelines:  
  pipeline-successful:
    stages:
    - stage-successful-1: {}
    - stage-successful-2: {}
    - stage-successful-3: {}

この例では、というパイプラインがあります pipeline-successful、連続して実行される3つのステージがあります。これは、 stage-successful-1 正常に終了し、 stage-successful-2 開始します。いずれかのステージが失敗した場合、後続のステージは開始されません。代わりに、パイプラインが中止され、失敗としてマークされます。

各ステージは、 stages 属性。ステージの定義とは、ステージの一部であるワークフローを指定することを意味します。

stages:
  stage-successful-1:
    workflows:
    - test-1: {}
  stage-successful-2:
    workflows:
    - build-1: {}
    - build-2: {}
  stage-successful-3:
    workflows:
    - deploy-1: {}
    - deploy-2: {}

この例では、ステージは test-1build-1build-2deploy-1、 と deploy-2 ワークフロー。

常に実行するようにステージを構成する

デフォルトでは、ワークフローの 1 つが失敗したためにステージが失敗した場合、パイプラインの他の後続のステージは実行されません。ただし、パイプラインが中止されない限り、特定のステージを実行するようにパイプラインを構成できます。

これを行うには、設定する必要があります should_always_run ステージの属性をtrueに設定します。

stages:
  stage-always-run-successful-1:
    should_always_run: true
    workflows:
    - deploy-1: {}
    - deploy-2: {}

上記の例では、Stage が呼び出されます。 stage-always-run-successful-1 前のステージのステータスに関係なく、常に実行されます。これらのステージが実行されない唯一の方法は、パイプライン ビルドがユーザーによって中止された場合です。

失敗したステージのワークフローを中止する

デフォルトでは、特定のステージのワークフローに障害が発生しても、同じステージの他のワークフローは自動的に中止されません。これらのワークフローは実行されますが、次のステージは開始されません。ただし、この動作を変更して、同じステージ内の他のすべてのワークフローを即座に自動的に中止することができます。

そのためには、を設定する必要があります abort_on_fail に属性 true

stages:
  stage-abort-on-fail-1:
    abort_on_fail: true
    workflows:
    - deploy-1: {}
    - deploy-2: {}

パイプライン ステージ間で環境変数を共有する

から任意の環境変数を再利用できます。 ワークフロー その後で再利用します ステージ を使用して パイプライン変数を共有するステップ.このステップを使用して環境変数を共有しても、 アプリ.

run_if 条件を使用したオプションのワークフロー

簡単に組み合わせることができます パイプライン変数を共有する ステップ run_if オプションのワークフローでパイプラインを作成するための式。詳細については、こちらをご覧ください パイプラインを使用したオプションのワークフローの run_if 条件の設定.パイプラインを使用したオプションのワークフローの run_if 条件の設定

そうするために:

  1. 追加 パイプライン変数を共有する ワークフローに進みます。

  2. 必要に応じて、追加の実行条件を 追加の実行条件 入力。ステップは、ここで指定した条件が真の場合にのみ実行されます。

  3. Add the Env Var(s) you would like to use in subsequent Workflows in the Variables to share between Pipeline Workflows input.

    環境変数キーの使用

    を使用して環境変数を定義できます。{key}={value}構文。例えば、 MY_ENV_KEY=value、 また INSTALL_PAGE_URL=$BITRISE_PUBLIC_PAGE_URL.

    デフォルトの環境変数キーを使用する場合は、簡略構文を使用できます。例えば、 EXISTING_ENV_KEY.

    このステップを使用して環境変数を共有しても、 アプリ.

それでおしまい!後続のステージで環境変数を使用できるようになりました!

Bitriseパイプラインの構成

現在、パイプラインの構成は、直接編集することによってのみ可能です。 bitrise.yml ファイル。グラフィカルなワークフローエディターでワークフローを作成および変更できますが、パイプラインとステージをYAML形式で定義する必要があります。

パイプライン、ステップ、およびワークフローの定義

The bitrise.yml ファイルには、パイプラインの完全な構成が含まれています。すべてのように bitrise.yml ファイルの場合、最初にフォーマットバージョンとプロジェクトタイプを定義する必要があります。

---
format_version: '8'
default_step_lib_source: 
project_type: android

これは最低限です bitrise.yml 構成。パイプラインを定義するには、パイプライン属性を使用する必要があります。

pipelines:  
  pipeline-successful:
    stages:
    - stage-successful-1: {}
    - stage-successful-2: {}
    - stage-successful-3: {}

この例では、というパイプラインがあります pipeline-successful、連続して実行される3つのステージがあります。これは、 stage-successful-1 正常に終了し、 stage-successful-2 開始します。いずれかのステージが失敗した場合、後続のステージは開始されません。代わりに、パイプラインが中止され、失敗としてマークされます。

各ステージは、 stages 属性。ステージの定義とは、ステージの一部であるワークフローを指定することを意味します。

stages:
  stage-successful-1:
    workflows:
    - test-1: {}
  stage-successful-2:
    workflows:
    - build-1: {}
    - build-2: {}
  stage-successful-3:
    workflows:
    - deploy-1: {}
    - deploy-2: {}

この例では、ステージは test-1build-1build-2deploy-1、 と deploy-2 ワークフロー。

常に実行するようにステージを構成する

デフォルトでは、ワークフローの 1 つが失敗したためにステージが失敗した場合、パイプラインの他の後続のステージは実行されません。ただし、パイプラインが中止されない限り、特定のステージを実行するようにパイプラインを構成できます。

これを行うには、設定する必要があります should_always_run ステージの属性をtrueに設定します。

stages:
  stage-always-run-successful-1:
    should_always_run: true
    workflows:
    - deploy-1: {}
    - deploy-2: {}

上記の例では、Stage が呼び出されます。 stage-always-run-successful-1 前のステージのステータスに関係なく、常に実行されます。これらのステージが実行されない唯一の方法は、パイプライン ビルドがユーザーによって中止された場合です。

失敗したステージのワークフローを中止する

デフォルトでは、特定のステージのワークフローに障害が発生しても、同じステージの他のワークフローは自動的に中止されません。これらのワークフローは実行されますが、次のステージは開始されません。ただし、この動作を変更して、同じステージ内の他のすべてのワークフローを即座に自動的に中止することができます。

そのためには、を設定する必要があります abort_on_fail に属性 true

stages:
  stage-abort-on-fail-1:
    abort_on_fail: true
    workflows:
    - deploy-1: {}
    - deploy-2: {}

パイプライン ステージ間で環境変数を共有する

から任意の環境変数を再利用できます。 ワークフロー その後で再利用します ステージ を使用して パイプライン変数を共有するステップ.このステップを使用して環境変数を共有しても、 アプリ.

run_if 条件を使用したオプションのワークフロー

簡単に組み合わせることができます パイプライン変数を共有する ステップ run_if オプションのワークフローでパイプラインを作成するための式。詳細については、こちらをご覧ください パイプラインを使用したオプションのワークフローの run_if 条件の設定.パイプラインを使用したオプションのワークフローの run_if 条件の設定

そうするために:

  1. 追加 パイプライン変数を共有する ワークフローに進みます。

  2. 必要に応じて、追加の実行条件を 追加の実行条件 入力。ステップは、ここで指定した条件が真の場合にのみ実行されます。

  3. Add the Env Var(s) you would like to use in subsequent Workflows in the Variables to share between Pipeline Workflows input.

    環境変数キーの使用

    を使用して環境変数を定義できます。{key}={value}構文。例えば、 MY_ENV_KEY=value、 また INSTALL_PAGE_URL=$BITRISE_PUBLIC_PAGE_URL.

    デフォルトの環境変数キーを使用する場合は、簡略構文を使用できます。例えば、 EXISTING_ENV_KEY.

    このステップを使用して環境変数を共有しても、 アプリ.

それでおしまい!後続のステージで環境変数を使用できるようになりました!