Skip to main content

出力なしでぶら下がっているステップの検出と中止

を使用して、一定時間ログ出力を生成しない停止中のステップを検出して中止できます。 出力タイムアウトなし 関数。この機能を使用して、構成可能なタイムアウト期間後にハングしたビルドを自動的に中止してクレジットを節約し、Bitrise がハングしたビルドに関するデータを収集できるようにすることができます。

を使用できます。 出力タイムアウトなし 次の 2 つの方法で機能します。

出力タイムアウトなし 関数は、で説明されているような他のタイムアウト機能と一緒に使用できます M1 ハンギング ビルドの問題ガイド またはで ステップの時間制限を設定する.

すべてのステップに対してグローバルに No Output Timeout 機能を有効にする

Bitrise 1.50.0 以降が必要です

を使用するには、Bitrise 1.50.0 以降のバージョンを使用する必要があります。 出力タイムアウトなし 関数。

有効にするには 出力タイムアウトなし すべてのステップでグローバルに:

  1. でアプリを開きます ビットライズ

  2. クリック ワークフロー メインページのボタン。

    opening-workflow-editor.png
  3. [ワークフローとパイプライン] ページでは、次のことができます。

    • クリック bitrise.yml を編集する にアクセスするためのボタン ビットライズ.yml ワークフローエディターのタブ。

    • アプリのワークフローのリストからワークフローを選択します。

  4. に行く シークレット タブ。

  5. 新しい秘密の環境変数を追加します。 BITRISE_NO_OUTPUT_TIMEOUT その値を、ビルドが中止する前に出力ログを待機する秒数に設定します。

    600 秒 (10 分) に設定することをお勧めします。

    Hanging_builds_detection.png

    ぶら下がっているビルドを自動的に中止する

    に比べ ステップの制限時間の設定出力タイムアウトなし 関数はビルドのみを中止し、出力ログは一定時間生成されません。

    ログ出力によってタイムアウトがリセットされます。これにより、ステップが設定した値よりも長く実行される可能性があります BITRISE_NO_OUTPUT_TIMEOUT.

  6. クリック 保存.ビルドのビルド ログをチェックして、関数が有効になっているかどうかを確認できます。

    hanging_build_result.png

以上です!これ以降、設定した秒数の間、ステップが出力ログを生成しないときはいつでも BITRISE_NO_OUTPUT_TIMEOUT の場合、ビルドは次のメッセージで自動的に中止されます。 Abort via Bitrise DEN (no output timeout).

special_hanging_abort_message.png

特定のステップの No Output Timeout 機能を無効にする

有効にした場合 出力タイムアウトなし グローバルに機能し、特定のステップに対して無効にしたい場合は、追加できます no_output_timeout: 0 のすぐ上の Step プロパティinputs:選択したステップの一部 bitrise.yml.

例えば:

    steps:    
    - virtual-device-testing-for-ios@1:
        no_output_timeout: 0
        inputs:
        - zip_path: "$BITRISE_PROJECT_PATH"

特定のステップの No Output Timeout 機能を有効にする

Bitrise 1.50.0 以降が必要です

を使用するには、Bitrise 1.50.0 以降のバージョンを使用する必要があります。 出力タイムアウトなし 関数。

を有効にできます。 出力タイムアウトなし を追加することにより、特定のステップの機能 no_output_timeout Step の下の Step プロパティ bitrise.yml ファイル。

ワークフロー エディターでこれを行うには:

  1. でアプリを開きます ビットライズ

  2. クリック ワークフロー メインページのボタン。

    opening-workflow-editor.png
  3. [ワークフローとパイプライン] ページでは、次のことができます。

    • クリック bitrise.yml を編集する にアクセスするためのボタン ビットライズ.yml ワークフローエディターのタブ。

    • アプリのワークフローのリストからワークフローを選択します。

  4. に行く bitrise.yml タブ。

  5. 関数を使用するステップを検索します。

  6. 入れる no_output_timeout: 12 のすぐ上のステップ プロパティと値 inputs: ステップが 12 秒間出力ログを生成しない場合、ビルドを自動的に中止するために、選択したステップの一部。

    の設定 no_output_timeout プロパティを 0 にステップします

    無効にすることができます 出力タイムアウトなし を設定することにより、ステップの機能 no_output_timeout プロパティを 0 にステップします。

    スクリプト ステップが常に自動的に中止される例を見てみましょう。

      output_slows_down:
        steps:
        - script@1:
            title: Output is slower and slower
            no_output_timeout: 12
            inputs:
            - content: |-
                #!/usr/bin/env bash
                for i in {1..5}
                do
                  DURATION=$((5*i))
                  echo "🏃‍step output (sleeping ${DURATION}s)"
                  sleep $DURATION
                done

以上です!ここで、ステップがハングし、 no_output_timeout Step プロパティ、ビルドは自動的に中止されます。