Search Results for ""

ビルドのスキップとキャンセル

ここでは、以下のセクションに沿って、ビルドをスキップまたはキャンセルする方法について説明します。

ビルドのスキップ

CircleCI のデフォルトでは、ユーザーが変更をバージョン管理システム (VCS) にプッシュするたびに、自動的にプロジェクトがビルドされます。 この動作は、[ci skip] または [skip ci] タグをコミットのタイトルまたは説明の任意の場所に追加することで、オーバーライドできます。 これにより、マークされたコミットだけでなく、そのプッシュに含まれる他のすべてのコミットもスキップされます。

スキップしたコミットを後でビルドする場合は、ビルドを再実行することでスキップタグをオーバーライドできます。 ワークフローを使用している場合は、CircleCI アプリケーションの [Workflows] ページに移動し、ワークフロー全体を再実行するか、失敗したジョブからワークフローを再実行します。 または、CircleCI アプリケーションのジョブページで、リビルドオプションの中からいずれかを選んでクリックします。

メモ:この機能は、フォークされた PR ではサポートされていません。

コミットのタイトルの例

$ git log origin/master..HEAD

commit 63ce74221ff899955dd6258020d6cb9accede893
Author: Daniel Woelfel
Date:   Wed Jan 23 16:48:25 2017 -0800

    fix misspelling [ci skip]

このコミットはタイトルに [ci skip] が含まれているため、VCS にプッシュされても CircleCI でビルドされません。

コミットの説明の例

$ git log origin/master..HEAD

commit 99b4ce4d59e79cb379987b39c65f7113631f0635
Merge: 16ba8ca adc6571
Author: Daniel Woelfel
Date:   Tue Apr 25 15:56:42 2016 -0800

    A large feature with squashed commits

    Fix bug in feature
    Refactor feature code
    First attempt at feature [ci skip]

このコミットは説明に [ci skip] が含まれているため、VCS にプッシュされても CircleCI でビルドされません。

メモ:一度に複数のコミットをプッシュした場合、1つの [ci skip] または [skip ci]すべてのコミットのビルドがスキップされます。

冗長ビルドの自動キャンセル

変更を頻繁にブランチにプッシュすると、ビルドキューイングが発生する可能性が高まります。 したがって、古いバージョンのブランチでビルドが終了するまで、最新バージョンでビルドを実行できないことがあります。

時間を節約するために、新しいビルドがトリガーされたときに、その同じブランチ上のキューイングされたビルドまたは実行中のビルドを自動的にキャンセルするように CircleCI を設定することができます。

メモ:プロジェクトのデフォルトブランチでは、ビルドの自動キャンセルは行われません。 この機能が適用されるのは、ワークフロー以外のビルド、GitHub へのプッシュによってトリガーされたビルド、および新しいビルド処理機能を使用しているワークフロービルドだけです。

GitHub へのプッシュによってトリガーされたワークフロー以外の新しいビルドの自動キャンセルを有効にする手順

  1. CircleCI アプリケーションで、プロジェクトの横にある歯車のアイコンをクリックして、プロジェクトの設定に移動します。

  2. [Build Settings (ビルド設定)] セクションで、[Advanced Settings (詳細設定)] をクリックします。

  3. [Enabling Build Processing (preview) (ビルド処理を有効にする (プレビュー))] セクションで [On (オン)] ボタンをクリックします。

GitHub または API へのプッシュによってトリガーされたワークフローの自動キャンセルを有効にする手順

[Advanced Settings (詳細設定)] で自動キャンセルが有効になっているプロジェクトでは、非デフォルトのブランチで新しいビルドがトリガーされると、同じブランチ上のワークフローがキャンセルされます。

メモ:非デフォルトのブランチで自動デプロイジョブを設定している場合などには、自動キャンセル機能を有効にすることの影響を慎重に検討する必要があります。 ワークフローを自動キャンセルする場合は、ビルド処理のプレビュー機能を有効にする必要があります。

  1. CircleCI アプリケーションで、プロジェクトの横にある歯車のアイコンをクリックして、プロジェクトの設定に移動します。

  2. [Build Settings (ビルド設定)] セクションで、[Advanced Settings (詳細設定)] をクリックします。

  3. [Enabling Build Processing (preview) (ビルド処理を有効にする (プレビュー))] セクションで [On (オン)] ボタンをクリックします。

  4. 変更をコミットしてビルドをトリガーし、新しいパイプラインを使用して正常に実行されることを確認します。

  5. [Auto-cancel redundant builds (冗長ビルドを自動キャンセルする)] セクションで [On (オン)] ボタンをクリックします。

[Advanced Settings (詳細設定)] で自動キャンセルが有効になっているプロジェクトでは、非デフォルトのブランチで新しいビルドがトリガーされると、同じブランチ上のワークフローがキャンセルされます。ただし、以下の例外があります。

  • スケジュールされたワークフローおよび再実行されたワークフローはキャンセルされません。