- Bitriseドキュメントへようこそ!
- ビルドとパイプライン
- ビルドの開始
- ビルドトリガー
ビルドトリガー
トリガーイベントとワークフローを指定することにより、Bitriseで自動ビルドトリガーを構成できます。コードプッシュ、プルリクエスト、またはGitタグからビルドをトリガーできます。
既存のトリガー構成
このページでは、ワークフローまたはパイプライン内で定義されるターゲットベースのビルド トリガーについて詳しく説明します。よりきめ細かく柔軟なビルド トリガー システムを提供するため、すべての新規ユーザーにはこのアプローチをお勧めします。
既存の構成では、従来のプロジェクトベースのトリガーが使用される場合があります。詳細については、以下を参照してください。 従来のプロジェクトベースのトリガー。
ビルド トリガーを使用して、1 つ以上の Bitrise ビルドを自動的に開始します。トリガーの定義には、コード イベントと、ビルドをトリガーするためにイベントが一致する必要がある 1 つ以上の条件が含まれます。
ワークフローまたはパイプライン内でトリガーを定義できます。トリガーを使用すると、単一のコード イベントで複数の異なるワークフローまたはパイプラインをトリガーできるため、すべてを単一のワークフローまたはパイプラインにバンドルすることなく、コード変更の範囲に基づいて CI プロセスの関連部分をすべて一緒に実行できます。各ビルドは独立して実行され、個別の結果を提供します。
トリガーの詳細な構文と正確なトリガー条件については、 構成YAMLでのビルドトリガー。
コードイベント
ビルドをトリガーするには、次の 3 種類のコード イベントを使用できます。
-
コードプッシュ: トリガー条件に一致するコミットを使用してコードをプッシュするたびに、ビルドを自動的にトリガーします。たとえば、プロジェクトのリポジトリの指定されたブランチへのコミットによってビルドがトリガーされます。
-
プルリクエスト: プル リクエストがトリガー条件に一致するたびに、ビルドを自動的にトリガーします。たとえば、プル リクエストによってビルドがトリガーされるソース ブランチや宛先ブランチを指定できます。
初回のPRイベント
プルリクエストは、最初のイベントで 1 回だけビルドをトリガーします。ほとんどの場合、その初期イベントはプルリクエストの作成です。たとえば、PR をドラフト PR に変換しても、別のビルドはトリガーされません。プルリクエストの更新用にビルドをトリガーするには、新しいコミットのコードプッシュトリガーを設定します
-
Gitタグ: 特定のタグを持つコミットがビルドをトリガーするたびに、ビルドを自動的にトリガーします。
条件
トリガー条件はコード イベントのフィルターです。すべてのプル リクエストでビルドをトリガーする代わりに、特定のブランチを対象とするプル リクエストのトリガーを構成できます。
Gitプロバイダによってサポートされる条件は異なります。完全な表については、 サポートされているトリガー条件。
トリガー条件は、単一のトリガー内で組み合わせることができます。たとえば、PR が特定のブランチを対象とし、かつ特定のラベルが含まれている場合にのみビルドをトリガーするプル リクエスト トリガーを設定できます。
ビルドトリガーの作成
ビルド トリガーは、ワークフローまたはパイプラインで直接作成します。このようなトリガーを使用すると、単一のコード イベントで複数のワークフローまたはパイプラインをトリガーできます。トリガーは、UI または構成 YAML ファイルで作成できます。
トリガーを作成するには:
ワークフローエディター
構成YAML
-
でアプリを開きます ビットライズ。
-
クリック ワークフロー メインページのボタン。
-
ワークフローを選択します。
-
選択してください トリガー ワークフローのページのタブ。
-
トリガータイプを選択し、 トリガーを追加 ボタン。
-
ダイアログでトリガーを設定します。
-
完了したらクリック トリガーを追加。
-
構成 YAML ファイルを開きます。
-
ワークフローを見つけます。
-
ワークフローで、
triggers
財産。my-workflow: triggers:
-
トリガーを作成します。さまざまなトリガー タイプの正確な構文については、以下を参照してください。 構成YAMLでのビルドトリガー。
たとえば、このトリガーはワークフローでビルドを開始します
my-workflow: triggers: push: - commit_message: your_message
-
設定を保存します。
トリガーを無効にする
ビルド トリガーを一時的に無効にすることができます。無効にされたトリガーはビルドをトリガーしませんが、すべての構成情報は保持されます。無効にされたトリガーはいつでも再アクティブ化できます。
ビルド トリガーを無効にするには:
ワークフローエディター
構成YAML
-
Bitrise でワークフロー エディターを開きます。
-
ワークフローまたはパイプラインを選択します。
-
ワークフローページで、 トリガー タブ。
-
必要なトリガーを見つけて、その名前の横にある縦の省略記号をクリックします。
-
選択 トリガーを無効にする。
-
構成 YAML ファイルを開きます。
-
ワークフローまたはパイプラインとその
triggers
財産。 -
追加
enabled: false
無効にするトリガーに追加します。triggers: push: - branch: main enabled: false
サポートされているトリガー条件
すべてのトリガー条件がすべての Git プロバイダーで利用できるわけではありません。原則として、すべてのトリガー条件は、最もよく使用される 3 つの Git プロバイダー (GitHub、GitLab、Bitbucket) のクラウド サービスで利用できます。その他のプロバイダーまたは自己ホスト型 Git リポジトリについては、プッシュ トリガーとプル リクエスト トリガーの両方の詳細な表を確認してください。
Git プロバイダー |
支店 |
コミットメッセージ |
ファイルが変更されました |
---|---|---|---|
GitHub (クラウド) |
|
|
|
GitHub (セルフホスト) |
|
|
|
GitLab (クラウド) |
|
|
|
GitLab (セルフホスト) |
|
|
|
Bitbucket (クラウド) |
|
|
|
BitBucket Server (セルフホスト) |
|
|
|
アセンブラ |
|
|
|
デベオ(Perforce) |
|
|
|
ゴグス |
|
|
|
Azure DevOps |
|
|
|
Git プロバイダー |
ソースブランチ |
対象ブランチ |
ラベル |
コメント |
コミットメッセージ |
変更されたファイル |
---|---|---|---|---|---|---|
GitHub (クラウド) |
|
|
|
|
|
|
GitHub (セルフホスト) |
|
|
|
|
|
|
GitLab (クラウド) |
|
|
|
|
|
|
GitLab (セルフホスト) |
|
|
|
|
|
|
Bitbucket (クラウド) |
|
|
該当なし |
|
|
|
BitBucket Server (セルフホスト) |
|
|
該当なし |
|
|
|
アセンブラ |
|
|
該当なし |
|
|
|
デベオ(Perforce) |
|
|
|
|
|
|
ゴグス |
|
|
|
|
|
|
Azure DevOps |
|
|
|
|
|
|
ドラフト PR からのビルドのトリガー
GitHub では、と呼ばれる機能を提供しています。 プルリクエストのドラフト: プル リクエスト (PR) を作成するときに、レビューの準備ができているプル リクエストを作成するか、ドラフト プル リクエストを作成するかを選択できます。ドラフト プル リクエストはマージできず、コード所有者はドラフト プル リクエストをレビューするように自動的に要求されません。
Git プロバイダーの制限
この機能は、GitHub および GitLab リポジトリでのみサポートされます。
ドラフト PR は、他の PR と同様に Bitrise でビルドをトリガーできます。ただし、ドラフト PR が完全なビルドをトリガーして実行しないようにすることもできます。ビルドまたはビルド内の特定のステップをスキップするには、 GITHUB_PR_IS_DRAFT
環境変数。
ドラフトPRを開くとビルドがトリガーされる場合、レビュー用に送信する(つまり「完全な」PRに変換する)と、別のビルドはトリガーされません。ドラフトの PR トリガー設定に応じて、ビルドをトリガーする正確なコードイベントを確認できます ドラフト PR のビルド トリガー動作.
それぞれのトリガーには独自のトグルがあり、特定のトリガーがドラフト PR からビルドを開始し、他のトリガーが開始しないようにアプリを構成できます。
ドラフト PR からのビルドを無効にする
ビルドがドラフト PR によってトリガーされた場合のステップのスキップ
ドラフト プル リクエストによってトリガーされるビルドの特定のステップをスキップすることもできます。使用する必要があるのは、 run_if
状態: 詳細については、を参照してください。 ステップを条件付きで有効または無効にする。
ワークフローエディター
ビットライズ
-
でアプリを開きます ビットライズ。
-
クリック ワークフロー メインページのボタン。
-
ワークフローを開いて、以下を選択します。 トリガー タブ。
パイプラインを使用している場合は、設定 YAML ファイルの設定のみを無効にできます。
-
必要なトリガーを見つけて、名前の横にある縦の省略記号をクリックします。
-
[選択] トリガーを編集 メニューから。
-
チェックを外す ドラフトプルリクエストを含める オプションを押してクリック [変更を適用]。
-
設定 YAML ファイルを開きます。
-
見つけて
triggers
変更したいすべてのワークフローまたはパイプラインの要素。 -
[追加]
draft_enabled: false
必要なプルリクエストトリガーへ。workflows: primary: triggers: pull_request: - draft_enabled: false
ドラフト PR のビルド トリガー動作
この表は、ドラフト PR トリガー設定に応じて、ドラフト PR に関して特定のアクションが実行されたときにビルドがトリガーされるかどうかを示しています。たとえば、ドラフト PR を PR に変換しても、ドラフト PR トリガーが有効になっている場合はビルドはトリガーされませんが、無効になっている場合はビルドがトリガーされます。
アクション |
ドラフトPRトリガーが有効になっています |
ドラフトPRトリガーは無効です |
---|---|---|
ドラフトPRを開く |
|
|
ドラフトPRにコミットをプッシュする |
|
|
ドラフトPRをPRに変換する |
|
|
PR をドラフト PR に変換する |
|
|
トリガー変数
ビルドトリガーに関連する多くの環境変数は、自動的にトリガーされるビルド中に使用できます。これらの変数は、ビルドトリガーとプルリクエスト属性に関する詳細なコンテキストを提供します。これらのトリガー変数は次の目的で使用します。
-
コメント、ラベル、変更されたファイルなどのプルリクエストデータを使用して、複雑なワークフローと意思決定プロセスを自動化します。
-
誰がどのようにビルドをトリガーするのかを理解し、それを活用してワークフローのデバッグに役立てましょう
-
正確なビルド条件を実装して不要な実行を減らし、時間とリソースを節約します。
すべてのトリガー変数とその定義は、参照表に記載されています。 表2「bitrise.ioによって公開された環境変数」.
Trigger variables are only available if the requirements are met. For example, the BITRISE_GIT_PULL_REQUEST_COMMENT
variable is only available if the build is triggered by a PR comment; in other words, the build trigger has a pr_comment
condition. You can find the exact conditions in 表2「bitrise.ioによって公開された環境変数」.
トリガー変数のユースケース
Here are some example use cases for trigger variables. These are merely suggestions: you can experiment with variables to find what suits your needs best.
BITRISE_GIT_PULL_REQUEST_COMMENT_ID
: プルリクエストのコメント ID を使用して、プルリクエストの元のコメントにステータス更新を直接投稿します。これには、成功、失敗、ログ、その他の関連情報などの詳細を含めることができます。
BITRISE_GIT_CHANGED_FILES
: コードベースの変更された部分を特定し、その変更に基づいて、UI 変更のフロントエンドテストや API 変更のバックエンドテストの実行など、特定のテストスイートを起動します。
使用 BITRISE_GIT_COMMIT_MESSAGES
そして BITRISE_GIT_PULL_REQUEST_LABELS
デプロイ環境を決定するため。たとえば、コミットメッセージに「[staging]」が含まれていたり、「ready-for-staging」というラベルが表示されている場合は、コードをステージング環境にデプロイします