- Bitriseドキュメントへようこそ!
- ビルドとパイプライン
- ビルドの開始
- ビルドを自動的にトリガーする
ビルドを自動的にトリガーする
トリガーイベントとワークフローを指定することにより、Bitriseで自動ビルドトリガーを構成できます。コードプッシュ、プルリクエスト、またはGitタグからビルドをトリガーできます。
ビルドをトリガーするコードイベントと実行する宛先ワークフローを指定することにより、Bitrise で自動ビルドトリガーを設定できます。同じアプリに対して複数のトリガーを定義できます。
デフォルトでは、1 つのトリガーでトリガーできるワークフローは 1 つだけです。 1 つのトリガーから複数のワークフローをトリガーする必要がある場合は、いくつかの方法があります。
-
パイプラインの使用: パイプラインでは、ワークフローが各ステージで並行して実行され、パイプライン トリガーによってパイプラインの最初のステージが開始されます。続きを読む: パイプライントリガーの構成。
-
ワークフローをつなぐ だから彼らはお互いを追いかけます。
トリガーには次の3つのタイプがあります。
-
コード プッシュ: 条件に一致するコミットを使用してコードをプッシュするたびに、ビルドが自動的にトリガーされます。たとえば、アプリのリポジトリの指定されたブランチへのコミットによってビルドがトリガーされます。
-
プル リクエスト: プル リクエストが条件に一致するたびに、ビルドを自動的にトリガーします。たとえば、プル リクエストによってビルドがトリガーされるソース ブランチや宛先ブランチを指定できます。
-
Git タグ: 特定のタグが付いたコミットがビルドをトリガーするたびに、ビルドを自動的にトリガーします。
トリガー条件
各トリガー タイプには、複数の異なるトリガー条件を設定できます。使用可能なトリガー条件は、各トリガー タイプの作成手順にリストされ、説明されています。
すべてのトリガー条件がすべてのGitプロバイダーでサポートされているわけではありません。詳細なリストについては、 サポートされているトリガー条件。
トリガーは、 トリガー ワークフローエディタのセクションまたは直接編集することもできます bitrise.yml
アプリの設定を行います。
また、同じブランチ(たとえば、main)で同じコードイベント(たとえば、コードプッシュ)に対して2つの異なるトリガーを設定することはできません。ワークフローエディタでは、保存しようとしても構成を保存できません。
コードプッシュトリガー
コード プッシュ トリガーは、アプリのリポジトリ内のコードが変更されるたびにビルドを開始します。
コード プッシュ トリガーには、次の 3 つの条件タイプがあります。
-
プッシュ ブランチ: アプリのリポジトリの指定されたブランチでのコミットのみが新しいビルドをトリガーします。
-
コミット メッセージ: 指定されたコミット メッセージのみが新しいビルドをトリガーします。たとえば、次のコミット メッセージがあるとします。
hotfix critical: Resolved security vulnerability in user authentication
ワイルドカードパターンを使うこともできます。hotfix.*
または次のような正規表現パターンhotfix\s*(critical|high):.*
このようなコミット メッセージのビルドをトリガーします。 -
ファイルが変更された: 特定のファイルが変更された場合のみビルドが実行されます。これはモノレポの設定、つまり単一のリポジトリに複数の異なるプロジェクトのコードが含まれている場合に特に便利です。たとえば、次のような正規表現パターンは
ios/.*\.swift$
モノレポ内でiOSディレクトリ内のSwiftファイルのみが変更された場合にのみビルドをトリガーできます。同様に、次のような単純なワイルドカードパターンも使用できます。ios/app.js or ios/components/MyView.swift
またはios/layouts/main_screen.xml
関連するディレクトリ内の特定のファイルをターゲットにしてビルドをトリガーできます。
これらの条件は組み合わせることもできます。例えば、特定のファイルが変更されたときにビルドを開始するトリガーを設定できます。 主要 アプリのリポジトリのブランチ。トリガーごとに少なくとも 1 つの条件を構成する必要があります。複数の条件を設定する場合、ビルドをトリガーするにはすべての条件が満たされている必要があります。
トリガー構成では正規表現を使用できます。正規表現を使用して、ブランチ、コミット メッセージ、またはファイル名を一致させることができます。最初の一致によってビルドがトリガーされ、後続の一致は無視されます。
コードプッシュのトリガーを作成する
ワークフローエディター
ビットライズ
-
リポジトリへのOAuth接続を使用する場合は、 Bitriseウェブフック リポジトリに登録されます。GitHub App 統合を使用する場合、Webhook は必要ありません。
-
でアプリを開きます ビットライズ。
-
クリック ワークフロー メインページのボタン。
-
左側で、 トリガー。
-
上の トリガー ページで、 押す タブ。
-
クリック プッシュトリガーを追加。
-
の中に プッシュトリガーを追加 ダイアログで、1 つ以上のトリガー条件を設定します。
-
ブランチをプッシュ: 指定されたブランチへのコミットによりビルドがトリガーされます。
-
コミットメッセージ: 指定されたコミット メッセージを含むコミットによりビルドがトリガーされます。
-
ファイルの変更: 指定されたファイルに変更を加えるとビルドがトリガーされます。
複数の条件を設定する場合、ビルドを開始するにはすべての条件を満たす必要があります。
どの条件タイプにも正規表現を使用できます。
-
-
クリック 次 それが終わったら。
-
条件が満たされたときにBitriseが実行するワークフローまたはパイプラインを選択します。完了したら、 トリガーを追加。
YAML でのトリガー
YAML形式でビルドトリガーを定義する方法の詳細については、以下を参照してください。 構成YAMLでのビルドトリガー。
-
リポジトリへのOAuth接続を使用する場合は、 Bitriseウェブフック リポジトリに登録されます。GitHub App 統合を使用する場合、Webhook は必要ありません。
-
開く
bitrise.yml
ファイル。 -
下
trigger_map
、タイプを次のように定義して新しいトリガーを追加します。push
トリガー条件を設定します。trigger_map: - type: push commit_message: your_message
この例では、
commit_message
トリガー条件として 利用可能な条件 は:-
push_branch
: 指定されたブランチへのコミットによりビルドがトリガーされます。 -
commit_message
: 指定されたコミット メッセージを含むコミットによりビルドがトリガーされます。 -
changed_files
: 指定されたファイルに変更を加えるとビルドがトリガーされます。
どちらにも正規表現を使うことができます。
regex:
トリガー条件に追加します。例:commit_message: regex: ".*"
-
-
トリガーするワークフローまたはパイプラインを追加します。
trigger_map: - type: push commit_message: your_message workflow: primary
これで完了です。今後、アプリのリポジトリの選択したブランチにコードがプッシュされると、Bitrise は選択したワークフローまたはパイプラインを使用してビルドをトリガーします。
プルリクエストトリガー
プル リクエスト トリガーは、アプリのリポジトリでプル リクエストが開かれるたびにビルドを開始します。
プル リクエスト トリガーには、次の 3 つの条件タイプがあります。
-
ソース ブランチ: プル リクエストの変更が含まれるブランチの名前。
-
ターゲット ブランチ: プル リクエストをマージするブランチの名前。
-
プル リクエスト コメント: プル リクエストに送信された指定されたコメント。
-
プル リクエスト ラベル: 特定のラベルが適用されたプル リクエストのみがビルドをトリガーします。たとえば、build-test などのラベルを追加して、特定の PR のビルドを手動でトリガーします。
-
Pull request commit messages.
BitriseはPRのすべてのコミットメッセージをチェックします
プル リクエスト トリガーはプル リクエストのすべてのコミットをチェックすることに注意してください。コミット メッセージが条件に一致すると、Bitrise はビルドをトリガーします。
この動作が目的に合わない場合は、 コードプッシュトリガー その代わり。
-
Pull request file changes.
これらの条件は組み合わせることができます。たとえば、特定のラベルが付いた特定のソース ブランチからプル リクエストが開かれたときにビルドを開始するトリガーを設定できます。トリガーごとに少なくとも 1 つの条件を構成する必要があります。複数の条件を設定する場合、ビルドをトリガーするには、すべての条件が満たされている必要があります。
トリガー構成では正規表現を使用できます。正規表現を使用してブランチまたは PR ラベルを一致させることができます。最初の一致によってビルドがトリガーされ、それ以降の潜在的な一致は無視されます。
プル リクエストによってトリガーされたビルドは、手動の承認の対象となる場合があります。 プルリクエストビルドの承認。
デフォルトでは、ドラフト プル リクエストもビルドをトリガーします。これはいつでも無効にできます。 ドラフト PR からのビルドのトリガー。
プルリクエストのトリガーを作成する
ワークフローエディター
ビットライズ
-
必ず Bitriseウェブフック リポジトリに登録されました。
-
でアプリを開きます ビットライズ。
-
クリック ワークフロー メインページのボタン。
-
左側で、 トリガー。
-
上の トリガー ページで、 プルリクエスト タブ。
-
クリック プルリクエストトリガーを追加する。
-
の中に プルリクエストトリガーを追加する ダイアログで、ビルドをトリガーする 1 つ以上のトリガー条件を設定します。
-
ソースブランチ: プル リクエストが開かれたブランチ。
-
対象ブランチ: プルリクエストがマージされるブランチ。
-
PRラベル: PR に適用されるラベル。
-
PRコメント: プルリクエストに送信された指定されたコメント。プルリクエスト内のいずれかのコミットメッセージが条件に一致する場合、Bitrise はビルドをトリガーすることに注意してください。
-
コミットメッセージ: プルリクエストのコミットメッセージの 1 つ。
-
ファイルの変更: プル リクエスト内の指定されたファイルへの変更。
プルリクエストトリガーの制限
使用するにはPRコメントトリガー、許可 プルリクエストコメント Git プロバイダーで webhook ペイロードとして渡されます。2 つのイベントを有効にします。 コメントを作成しました、 コメントを更新しました。
複数の条件を設定する場合、ビルドを開始するにはすべての条件を満たす必要があります。
どの条件タイプにも正規表現を使用できます。
-
-
クリック 次 それが終わったら。
-
条件が満たされたときにBitriseが実行するワークフローまたはパイプラインを選択します。完了したら、 トリガーを追加。
YAML でのトリガー
YAML形式でビルドトリガーを定義する方法の詳細については、以下を参照してください。 構成YAMLでのビルドトリガー。
-
必ず Bitriseウェブフック リポジトリに登録されました。
-
開く
bitrise.yml
ファイル。 -
下
trigger_map
、タイプを次のように定義して新しいトリガーを追加します。pull-request
トリガー条件を設定します。trigger_map: - type: pull-request pull_request_target_branch: regex: ".*"
この例では、
pull_request_target_branch
正規表現を使用したトリガー条件として。 利用可能な条件 それぞれに正規表現を使用できます。-
pull_request_source_branch
: 指定されたブランチから開かれたプル リクエストによってビルドがトリガーされます。 -
pull_request_target_branch
: 指定されたブランチにマージされるプル リクエストによってビルドがトリガーされます。 -
pull_request_label
: 指定されたラベルを持つプル リクエストはビルドをトリガーします。
どちらにも正規表現を使うことができます。
regex:
トリガー条件に。 -
-
トリガーするワークフローまたはパイプラインを追加します。
trigger_map: - type: pull-request pull_request_target_branch: regex: ".*" workflow: primary
そして、あなたは完了です!今後、リポジトリでプルリクエストが開かれると、Bitriseは選択されたワークフローでビルドをトリガーします。
ドラフト PR からのビルドのトリガー
GitHub では、と呼ばれる機能を提供しています。 プルリクエストのドラフト: プル リクエスト (PR) を作成するときに、レビューの準備ができているプル リクエストを作成するか、ドラフト プル リクエストを作成するかを選択できます。ドラフト プル リクエストはマージできず、コード所有者はドラフト プル リクエストをレビューするように自動的に要求されません。
Git プロバイダーの制限
この機能は、GitHub および GitLab リポジトリでのみサポートされます。
ドラフト PR は、他の PR と同様に Bitrise でビルドをトリガーできます。ただし、ドラフト PR が完全なビルドをトリガーして実行しないようにすることもできます。ビルドまたはビルド内の特定のステップをスキップするには、 GITHUB_PR_IS_DRAFT
環境変数。
それぞれのトリガーには独自のトグルがあり、特定のトリガーがドラフト PR からビルドを開始し、他のトリガーが開始しないようにアプリを構成できます。
ドラフト PR からのビルドを無効にする
ビルドがドラフト PR によってトリガーされた場合のステップのスキップ
ドラフト プル リクエストによってトリガーされるビルドの特定のステップをスキップすることもできます。使用する必要があるのは、 run_if
状態: 詳細については、を参照してください。 ステップを条件付きで有効または無効にする。
ワークフローエディター
ビットライズ
-
でアプリを開きます ビットライズ。
-
クリック ワークフロー メインページのボタン。
-
左側で、 トリガー。
-
必要なトリガーを見つけて、 ドラフトプルリクエストが有効 スイッチ。
-
開く
bitrise.yml
ファイル。 -
の中に
trigger_map
プロパティでトリガーを見つけます。type: pull_request
分野。 -
追加
draft_pull_request_enabled: false
それに。trigger_map: - type: pull-request pull_request_target_branch: main workflow: primary draft_pull_request_enabled: false
ドラフト PR のビルド トリガー動作
この表は、ドラフト PR トリガー設定に応じて、ドラフト PR に関して特定のアクションが実行されたときにビルドがトリガーされるかどうかを示しています。たとえば、ドラフト PR を PR に変換しても、ドラフト PR トリガーが有効になっている場合はビルドはトリガーされませんが、無効になっている場合はビルドがトリガーされます。
アクション |
ドラフトPRトリガーが有効になっています |
ドラフトPRトリガーは無効です |
---|---|---|
ドラフトPRを開く |
|
|
ドラフトPRにコミットをプッシュする |
|
|
ドラフトPRをPRに変換する |
|
|
PR をドラフト PR に変換する |
|
|
Git タグ トリガー
Gitタグトリガーは、指定されたタグを持つコミットが行われるたびにビルドを開始します。 Gitタグ アプリのリポジトリにプッシュされます。
タグ トリガーの場合、可能な条件はタグ自体のみです。トリガーを設定するときは、完全なタグまたは正規表現パターンのいずれかを設定する必要があります。
Git タグトリガーの作成
GitLabなどの特定のプロバイダーでは、Webhookのセットアップでタグプッシュイベントを特別に有効にする必要があることに注意してください。
ワークフローエディター
ビットライズ
-
必ず Bitriseウェブフック リポジトリに登録されました。
-
Git プロバイダーで必要な場合は、Webhook 構成でタグ プッシュ イベントが有効になっていることを確認してください。
たとえば、GitLab ではこれが必要です。
-
でアプリを開きます ビットライズ。
-
クリック ワークフロー メインページのボタン。
-
左側で、 トリガー。
-
上の トリガー ページで、 鬼ごっこ タブ。
-
クリック タグトリガーを追加。
-
の中に タグトリガーを追加 ダイアログでタグを追加 鬼ごっこ 分野。
完全なタグの代わりに正規表現を使用できます。
-
クリック 次 それが終わったら。
-
条件が満たされたときにBitriseが実行するワークフローまたはパイプラインを選択します。完了したら、 トリガーを追加。
YAML でのトリガー
ビルドトリガーをYAML形式で定義する方法の詳細については、以下を参照してください。 構成YAMLでのビルドトリガー。
-
必ず Bitriseウェブフック リポジトリに登録されました。
-
開く
bitrise.yml
ファイル。 -
下
trigger_map
、タイプを次のように定義して新しいトリガーを追加します。tag-push
そして、tag
トリガー条件:trigger_map: - type: tag-push tag: '*'
この例では、タグのプッシュ時にビルドをトリガーするワイルドカードを使用します。
-
トリガーするワークフローまたはパイプラインを追加します。
trigger_map: - type: tag-push tag: '*' workflow: primary
トリガーの無効化
ビルド トリガーを一時的に非アクティブ化できます。非アクティブ化されたトリガーはビルドをトリガーしませんが、すべての構成情報を保持します。将来トリガーが再び必要になった場合、トリガーを再作成する必要はありません。1 回のクリックで再度アクティブ化できます。
ビルド トリガーを非アクティブ化するには:
ワークフローエディター
ビットライズ
-
Bitrise でワークフロー エディターを開きます。
-
左側で、 トリガー。
-
非アクティブ化するトリガーに応じて、適切なタブを選択します。
-
トリガーを設定する 非活性。
-
開く
bitrise.yml
ファイル。 -
を見つける
trigger_map
プロパティと無効にするトリガー。 -
追加
enabled: false
それに。trigger_map: - type: push push_branch: main workflow: primary enabled: false
サポートされているトリガー条件
すべてのトリガー条件がすべての Git プロバイダーで利用できるわけではありません。原則として、すべてのトリガー条件は、最もよく使用される 3 つの Git プロバイダー (GitHub、GitLab、Bitbucket) のクラウド サービスで利用できます。その他のプロバイダーまたは自己ホスト型 Git リポジトリについては、プッシュ トリガーとプル リクエスト トリガーの両方の詳細な表を確認してください。
Git プロバイダー |
支店 |
コミットメッセージ |
ファイルが変更されました |
---|---|---|---|
GitHub (クラウド) |
|
|
|
GitHub (セルフホスト) |
|
|
|
GitLab (クラウド) |
|
|
|
GitLab (セルフホスト) |
|
|
|
Bitbucket (クラウド) |
|
|
|
BitBucket Server (セルフホスト) |
|
|
|
アセンブラ |
|
|
|
デベオ(Perforce) |
|
|
|
ゴグス |
|
|
|
VS チームサービス |
|
|
|
Git プロバイダー |
ソースブランチ |
対象ブランチ |
ラベル |
コメント |
コミットメッセージ |
変更されたファイル |
---|---|---|---|---|---|---|
GitHub (クラウド) |
|
|
|
|
|
|
GitHub (セルフホスト) |
|
|
|
|
|
|
GitLab (クラウド) |
|
|
|
|
|
|
GitLab (セルフホスト) |
|
|
|
|
|
|
Bitbucket (クラウド) |
|
|
該当なし |
|
|
|
BitBucket Server (セルフホスト) |
|
|
該当なし |
|
|
|
アセンブラ |
|
|
該当なし |
|
|
|
デベオ(Perforce) |
|
|
|
|
|
|
ゴグス |
|
|
|
|
|
|
VS チームサービス |
|
|
|
|
|
|