- Bitriseドキュメントへようこそ!
- ビルドとパイプライン
- ビルドの開始
- ビルドを自動的にトリガーする
ビルドを自動的にトリガーする
トリガーイベントとワークフローを指定することにより、Bitriseで自動ビルドトリガーを構成できます。コードプッシュ、プルリクエスト、またはGitタグからビルドをトリガーできます。
ビルドをトリガーするコードイベントと実行する宛先ワークフローを指定することにより、Bitrise で自動ビルドトリガーを設定できます。同じアプリに対して複数のトリガーを定義できます。
デフォルトでは、1 つのトリガーでトリガーできるワークフローは 1 つだけです。 1 つのトリガーから複数のワークフローをトリガーする必要がある場合は、いくつかの方法があります。
-
パイプラインの使用: パイプラインでは、ワークフローが各ステージで並行して実行され、パイプライン トリガーによってパイプラインの最初のステージが開始されます。続きを読む: パイプライントリガーの構成。
-
ワークフローをつなぐ だから彼らはお互いを追いかけます。
トリガーには次の3つのタイプがあります。
-
コード プッシュ: 条件に一致するコミットを使用してコードをプッシュするたびに、ビルドが自動的にトリガーされます。たとえば、アプリのリポジトリの指定されたブランチへのコミットによってビルドがトリガーされます。
-
プル リクエスト: プル リクエストが条件に一致するたびに、ビルドを自動的にトリガーします。たとえば、プル リクエストによってビルドがトリガーされるソース ブランチや宛先ブランチを指定できます。
-
Git タグ: 特定のタグが付いたコミットがビルドをトリガーするたびに、ビルドを自動的にトリガーします。
Trigger conditions
Each trigger type can be set up with multiple different trigger conditions. The available trigger conditions are listed and explained in the procedure for creating each trigger type.
Not all trigger conditions are supported for all Git providers. For the detailed list, see Supported trigger conditions.
トリガーは、 トリガー ワークフローエディタのセクションまたは直接編集することもできます 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 つの条件を構成する必要があります。複数の条件を設定する場合、ビルドをトリガーするにはすべての条件が満たされている必要があります。
トリガー構成では正規表現を使用できます。正規表現を使用して、ブランチ、コミット メッセージ、またはファイル名を一致させることができます。最初の一致によってビルドがトリガーされ、後続の一致は無視されます。
コードプッシュのトリガーを作成する
ワークフローエディター
ビットライズ
-
必ず Bitriseウェブフック リポジトリに登録されました。
-
でアプリを開きます ビットライズ。
-
クリック ワークフロー メインページのボタン。
-
[ワークフローとパイプライン] ページでは、次のことができます。
-
クリック bitrise.yml を編集する にアクセスするためのボタン ビットライズ.yml ワークフローエディターのタブ。
-
アプリのワークフローのリストからワークフローを選択します。
-
-
左側で、 トリガー。
-
上の トリガー ページで、 押す タブ。
-
クリック プッシュトリガーを追加。
-
の中に プッシュトリガーを追加 ダイアログで、1 つ以上のトリガー条件を設定します。
-
ブランチをプッシュ: 指定されたブランチへのコミットによりビルドがトリガーされます。
-
コミットメッセージ: 指定されたコミット メッセージを含むコミットによりビルドがトリガーされます。
-
ファイルの変更: 指定されたファイルに変更を加えるとビルドがトリガーされます。
複数の条件を設定する場合、ビルドを開始するにはすべての条件を満たす必要があります。
どの条件タイプにも正規表現を使用できます。
-
-
クリック 次 それが終わったら。
-
条件が満たされたときにBitriseが実行するワークフローまたはパイプラインを選択します。完了したら、 トリガーを追加。
YAML でのトリガー
YAML形式でビルドトリガーを定義する方法の詳細については、以下を参照してください。 トリガーマップを使用してビルドをトリガーする。
-
必ず Bitriseウェブフック リポジトリに登録されました。
-
開く
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 のビルドを手動でトリガーします。
これらの条件は組み合わせることができます。たとえば、特定のラベルが付いた特定のソース ブランチからプル リクエストが開かれたときにビルドを開始するトリガーを設定できます。トリガーごとに少なくとも 1 つの条件を構成する必要があります。複数の条件を設定する場合、ビルドをトリガーするには、すべての条件が満たされている必要があります。
トリガー構成では正規表現を使用できます。正規表現を使用してブランチまたは PR ラベルを一致させることができます。最初の一致によってビルドがトリガーされ、それ以降の潜在的な一致は無視されます。
プル リクエストによってトリガーされたビルドは、手動の承認の対象となる場合があります。 プルリクエストビルドの承認。
デフォルトでは、ドラフト プル リクエストもビルドをトリガーします。これはいつでも無効にできます。 ドラフト PR からのビルドを無効にする。
プルリクエストのトリガーを作成する
ワークフローエディター
ビットライズ
-
必ず Bitriseウェブフック リポジトリに登録されました。
-
でアプリを開きます ビットライズ。
-
クリック ワークフロー メインページのボタン。
-
[ワークフローとパイプライン] ページでは、次のことができます。
-
クリック bitrise.yml を編集する にアクセスするためのボタン ビットライズ.yml ワークフローエディターのタブ。
-
アプリのワークフローのリストからワークフローを選択します。
-
-
左側で、 トリガー。
-
上の トリガー ページで、 プルリクエスト タブ。
-
クリック プルリクエストトリガーを追加する。
-
の中に プルリクエストトリガーを追加する ダイアログで、1 つ以上のトリガー条件を設定します。
-
ソースブランチ: 指定されたブランチから開かれたプル リクエストによってビルドがトリガーされます。
-
対象ブランチ: 指定されたブランチにマージされるプル リクエストによってビルドがトリガーされます。
-
PRラベル: 指定されたラベルを持つプル リクエストはビルドをトリガーします。
-
PR comment: A specified comment submitted to a pull request.
-
Commit message: One of the commit messages of the pull request.
-
File change: Changes to the specified file(s) in the pull request.
Pull request trigger limitations
To use the PR comment trigger, allow pull request comment to be passed on as the webhook payload at your Git provider. Enable two events: comment created, comment updated.
Builds triggered by PR comment or PR label triggers will not refresh the status checks on the pull request on their git providers. This is true for all providers.
複数の条件を設定する場合、ビルドを開始するにはすべての条件を満たす必要があります。
どの条件タイプにも正規表現を使用できます。
-
-
クリック 次 それが終わったら。
-
条件が満たされたときにBitriseが実行するワークフローまたはパイプラインを選択します。完了したら、 トリガーを追加。
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) を作成するときに、レビューの準備ができているプル リクエストを作成するか、ドラフト プル リクエストを作成するかを選択できます。ドラフト プル リクエストはマージできず、コード所有者はドラフト プル リクエストをレビューするように自動的に要求されません。
ドラフト PR は、他の PR と同様に Bitrise でビルドをトリガーできます。ただし、ドラフト PR が完全なビルドをトリガーして実行しないようにすることもできます。ビルドまたはビルド内の特定のステップをスキップするには、 GITHUB_PR_IS_DRAFT
環境変数。
それぞれのトリガーには独自のトグルがあり、特定のトリガーがドラフト PR からビルドを開始し、他のトリガーが開始しないようにアプリを構成できます。
ドラフト PR の切り替えがオフになっている場合、ドラフト PR またはドラフト PR へのコミットのプッシュによってビルドが自動的に開始されません。
ドラフト PR の変換
ドラフト PR トグルが無効になっている場合、Git プロバイダーでドラフト PR を完全な PR に変換すると、ビルドが自動的にトリガーされます。
ドラフト PR によるビルドのトリガーを無効にするには:
ワークフローエディター
ビットライズ
-
でアプリを開きます ビットライズ。
-
クリック ワークフロー メインページのボタン。
-
[ワークフローとパイプライン] ページでは、次のことができます。
-
クリック bitrise.yml を編集する にアクセスするためのボタン ビットライズ.yml ワークフローエディターのタブ。
-
アプリのワークフローのリストからワークフローを選択します。
-
-
左側で、 トリガー。
-
必要なトリガーを見つけて、 ドラフトプルリクエストが有効 スイッチ。
-
開く
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 によってトリガーされた場合のステップのスキップ
ドラフト プル リクエストによってトリガーされるビルドの特定のステップをスキップすることもできます。使用する必要があるのは、 run_if
状態: 詳細については、を参照してください。 ステップを条件付きで有効または無効にする。
Git タグ トリガー
Gitタグトリガーは、指定されたタグを持つコミットが行われるたびにビルドを開始します。 Gitタグ アプリのリポジトリにプッシュされます。
タグ トリガーの場合、可能な条件はタグ自体のみです。トリガーを設定するときは、完全なタグまたは正規表現パターンのいずれかを設定する必要があります。
Git タグトリガーの作成
GitLabなどの特定のプロバイダーでは、Webhookのセットアップでタグプッシュイベントを特別に有効にする必要があることに注意してください。
ワークフローエディター
ビットライズ
-
必ず Bitriseウェブフック リポジトリに登録されました。
-
Git プロバイダーで必要な場合は、Webhook 構成でタグ プッシュ イベントが有効になっていることを確認してください。
たとえば、GitLab ではこれが必要です。
-
でアプリを開きます ビットライズ。
-
クリック ワークフロー メインページのボタン。
-
[ワークフローとパイプライン] ページでは、次のことができます。
-
クリック bitrise.yml を編集する にアクセスするためのボタン ビットライズ.yml ワークフローエディターのタブ。
-
アプリのワークフローのリストからワークフローを選択します。
-
-
左側で、 トリガー。
-
上の トリガー ページで、 鬼ごっこ タブ。
-
クリック タグトリガーを追加。
-
の中に タグトリガーを追加 ダイアログでタグを追加 鬼ごっこ 分野。
完全なタグの代わりに正規表現を使用できます。
-
クリック 次 それが終わったら。
-
条件が満たされたときにBitriseが実行するワークフローまたはパイプラインを選択します。完了したら、 トリガーを追加。
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
Supported trigger conditions
Not all trigger conditions are available for all Git providers. As a general rule, all our trigger conditions are available for the cloud service of the three most frequently used Git providers: GitHub, GitLab, and Bitbucket. For other providers, or self-hosted Git repositories, check out the detailed table for both push triggers and pull request triggers.
Git provider |
Branch |
Commit message |
Files changed |
---|---|---|---|
GitHub (cloud) |
|
|
|
GitHub (self-hosted) |
|
|
|
GitLab (cloud) |
|
|
|
GitLab (self-hosted) |
|
|
|
Bitbucket (cloud) |
|
|
|
BitBucket Server (self-hosted) |
|
|
|
Assembla |
|
|
|
Deveo (Perforce) |
|
|
|
Gogs |
|
|
|
VS Team Services |
|
|
|
Git provider |
Source branch |
Target branch |
Labels |
Comments |
Commit message |
Changed files |
---|---|---|---|---|---|---|
GitHub (cloud) |
|
|
|
|
|
|
GitHub (self-hosted) |
|
|
|
|
|
|
GitLab (cloud) |
|
|
|
|
|
|
GitLab (self-hosted) |
|
|
|
|
|
|
Bitbucket (cloud) |
|
|
N/A |
|
|
|
BitBucket Server (self-hosted) |
|
|
N/A |
|
|
|
Assembla |
|
|
N/A |
|
|
|
Deveo (Perforce) |
|
|
|
|
|
|
Gogs |
|
|
|
|
|
|
VS Team Services |
|
|
|
|
|
|