メインコンテンツまでスキップ

ビルドトリガーの設定

既存のトリガー設定

このページでは、WorkflowまたはPipeline内で定義される、ターゲットベースのビルドトリガーについて説明します。より詳細で柔軟なビルドトリガーシステムを利用できるため、すべての新規ユーザーにこの方法をお勧めします。

既存の設定では、レガシーなプロジェクトベースのトリガーを使用している場合があります。詳細については、レガシーなプロジェクトベースのトリガーをご覧ください。

ビルドトリガーの作成Click to copy link​

ビルドトリガーは、WorkflowまたはPipeline内で直接作成します。このようなトリガーを使用すると、1つのコードイベントで複数のWorkflowsまたはPipelinesをトリガーできます。トリガーはUI、または設定YAMLファイルで作成できます。

トリガーを作成するには、次の手順に従います。

  1. Bitrise にアクセスして Log in、左側の Bitrise CI を選択し、プロジェクトを選択します。

  2. メインページの Workflows ボタンをクリックします。

  3. Select a Workflow。

  4. WorkflowのページでTriggersタブを選択します。

    trigger-in-workflow.png

  5. trigger typeを選択し、Add triggerボタンをクリックします。

  6. ダイアログでトリガーを設定します。

    トリガー条件の値を定義する際に正規表現を使用するには、正規表現パターンボタンをクリックして有効にします。

    regex-button.png

  7. 完了したら、Add triggerをクリックします。

Triggersページでターゲットベースのトリガーを新規追加するClick to copy link​

Triggersページを離れることなく、新しいターゲットベースのトリガーをすばやく追加できます。たとえば、アクティブなトリガーを確認した後、コンテキストを切り替えずにすぐ別のトリガーを追加でき、設定作業を効率化できます。

  1. プロジェクトのTriggersページに移動します。

  2. まだトリガーがない場合、Triggersページの中央に新しいAdd Triggerボタンが表示されます。Add triggerをクリックし、ダイアログに入力します。

    addnewtrigger.png

  3. すでにターゲットベースのトリガーがある場合、add triggerボタンはトリガーの上、右上に表示されます。add triggerをクリックし、ダイアログに入力します。

    addanothertrigger.png

ここでトリガーを追加すると特定のワークフローが作成され、そのワークフローのTriggersタブがWorkflowsページに表示されるため、簡単に管理できます。

トリガーの無効化Click to copy link​

任意のビルドトリガーを一時的に無効にできます。無効化されたトリガーはビルドをトリガーしませんが、設定情報はすべて保持されます。無効化したトリガーはいつでも再度有効にできます。

ビルドトリガーを無効にするには、次の手順に従います。

  1. BitriseでWorkflow Editorを開きます。

  2. Select a WorkflowまたはPipeline。

  3. WorkflowページでTriggersタブを選択します。

    workflow-properties.png

  4. 必要なトリガーを見つけ、その名前の横にあるオプションメニュー(⋮)をクリックします。

    workflow-properties-ellipsis.png

  5. トリガーを無効化を選択します。

最新のGitコミットに対するトリガーの作成Click to copy link​

デフォルトでは、コードプッシュトリガーでCommit messageまたはFile change条件を使用する場合、Bitriseは1回のコードプッシュに含まれるすべてのコミットメッセージとすべての変更ファイルを評価します。

ただし、プッシュ内の最新のコミットのみを評価するようにトリガーを設定することもできます。プッシュに複数のコミットが含まれる場合、評価されるのは最新の1件のみです。

  1. 新しいプッシュトリガーの作成を参照してください。

  2. Commit messageまたはFile change条件のいずれかを選択します。

    last-commit.png

  3. 条件の下でLast commit onlyを有効にします。

ドラフトPRからのビルドトリガー実行Click to copy link​

GitHubとGitLabには、ドラフトプルリクエスト(GitLabの場合はマージリクエスト)という機能があります。プルリクエスト(PR)を作成する際、レビュー可能な状態のプルリクエストとして作成するか、ドラフトプルリクエストとして作成するかを選択できます。ドラフトプルリクエストはマージできず、コードオーナーに自動的にレビューが依頼されることもありません。

Gitプロバイダーの制限事項

この機能はGitHubおよびGitLabのリポジトリでのみサポートされています。

デフォルトでは、ドラフトPRを開くとビルドがトリガーされます。この動作はいつでも無効にできます。

ドラフトPRを開いた際にビルドがトリガーされた場合、それをレビュー用に提出しても(つまり「正式な」PRに変換しても)、再度トリガーされることはありません。ドラフトPRのトリガー設定によって、どのコードイベントでビルドがトリガーされるかを確認できます。ドラフトPRのビルドトリガーの動作。

それぞれのトリガーには個別のトグルがあり、特定のトリガーはドラフトPRからビルドを開始し、他のトリガーは開始しないようにアプリを設定できます。

ドラフトPRからのビルドの無効化Click to copy link​

ビルドがドラフトPRによってトリガーされた場合のStepsのスキップ

このガイドでは、ドラフトPRからのビルドトリガーを完全に無効にする方法を説明します。ただし、ドラフトプルリクエストによってトリガーされたビルド内で特定のStepsをスキップすることも可能です。その場合は、run_if条件とGITHUB_PR_IS_DRAFT環境変数を使用するだけです。詳細については、Stepの条件付き有効化・無効化をご覧ください。

  1. Bitrise にアクセスして Log in、左側の Bitrise CI を選択し、プロジェクトを選択します。

  2. メインページの Workflows ボタンをクリックします。

  3. Workflowを開き、Triggersタブを選択します。

    Pipelineがある場合、この設定は設定YAMLファイルでのみ無効にできます。

  4. 必要なトリガーを見つけ、その名前の横にあるオプションメニュー(⋮)をクリックします。

  5. メニューからEdit triggerを選択します。

    edit-trigger.png

  6. Include draft pull requestsオプションのチェックを外し、Apply changesをクリックします。

ドラフトPRのビルドトリガーの動作Click to copy link​

この表は、ドラフトPRのトリガー設定に応じて、ドラフトPRに関する特定のアクションが実行されたときにビルドがトリガーされるかどうかを示しています。たとえば、ドラフトPRをPRに変換する場合、ドラフトPRトリガーが有効になっているとビルドはトリガーされませんが、無効になっているとトリガーされます。

アクションドラフトPRトリガーが有効な場合ドラフトPRトリガーが無効な場合
ドラフトPRを開くtick.svgclose-small.svg
ドラフトPRにコミットをプッシュするtick.svgclose-small.svg
ドラフトPRをPRに変換するclose-small.svgtick.svg
PRをドラフトPRに変換するclose-small.svgclose-small.svg

サポートされているトリガー条件Click to copy link​

すべてのトリガー条件がすべてのGitプロバイダーで利用できるわけではありません。詳細については、プッシュトリガーとプルリクエストトリガーの両方の表を確認してください。

プッシュトリガー条件Click to copy link​

Gitプロバイダーブランチコミットメッセージ変更されたファイル
GitHub(クラウドおよびセルフホスト)tick.svgtick.svgtick.svg
GitLab(クラウドおよびセルフホスト)tick.svgtick.svgtick.svg
Bitbucket(クラウドおよびセルフホスト)tick.svgtick.svgclose-small.svg
Assemblatick.svgtick.svgclose-small.svg
Deveo (Perforce)tick.svgtick.svgtick.svg
Gogstick.svgtick.svgclose-small.svg
Azure DevOpstick.svgtick.svgclose-small.svg

プルリクエストトリガー条件Click to copy link​

GitプロバイダーSource branchターゲットブランチラベルコメントコミットメッセージ変更されたファイル
GitHub(クラウドおよびセルフホスト)tick.svgtick.svgtick.svgtick.svgtick.svgtick.svg
GitLab(クラウドおよびセルフホスト)tick.svgtick.svgtick.svgtick.svgtick.svgtick.svg
Bitbucket(クラウドおよびセルフホスト)tick.svgtick.svgN/Atick.svgtick.svgtick.svg
Assemblaclose-small.svgclose-small.svgN/Aclose-small.svgclose-small.svgclose-small.svg
Deveo (Perforce)close-small.svgclose-small.svgclose-small.svgclose-small.svgclose-small.svgclose-small.svg
Gogsclose-small.svgclose-small.svgclose-small.svgclose-small.svgclose-small.svgclose-small.svg
Azure DevOpstick.svgtick.svgclose-small.svgclose-small.svgclose-small.svgclose-small.svg
Assembla、Deveo、Gogsではプルリクエストトリガーが利用不可

Assembla、Deveo(Perforce)、Gogsはプッシュベースのトリガーのみをサポートしています。これらのプロバイダーではプルリクエストトリガーは利用できません。

GitHubのスタックされたプルリクエスト

GitHubスタック内のプルリクエストの場合、Bitriseはターゲットブランチ条件を、プルリクエストが直接ターゲットとするブランチではなく、スタックのベースブランチと照合します。

feature/part-2がfeature/part-1をターゲットとし、スタック全体がmainにマージされるスタックを例に考えます。target_branch: main条件はスタック内のすべてのプルリクエストに一致します。feature/part-1に設定された条件はいずれにも一致しません。