6.4. Pipelines as Code を使用したパイプライン実行ステータスの監視
コンテキストおよびサポートされるツールに応じて、パイプライン実行のステータスをさまざまな方法で監視できます。
GitHub アプリケーションのステータス
パイプラインの実行が完了すると、チェック タブにステータスが追加され、パイプラインの各タスクにかかった時間に関する情報少しと、tkn pipelinerun describe
コマンドの出力が表示されます。
ログエラーのスニペット
Pipelines as Code がパイプラインのタスクの 1 つでエラーを検出すると、最初に失敗したタスクのタスク内訳の最後の 3 行で構成される小さなスニペットが表示されます。
Pipelines as Code は、パイプラインの実行を調べて秘密の値を隠し文字に置き換えることで、シークレットの漏洩を回避します。ただし、Pipelines as Code は、ワークスペースおよび envFrom ソースからのシークレットを非表示にできません。
ログエラースニペットのアノテーション
TektonConfig
カスタムリソースの pipelinesAsCode.settings
仕様で、error-detection-from-container-logs
パラメーターを true
に設定できます。この場合、Pipelines as Code はコンテナーログからエラーを検出し、エラーが発生したプルリクエストにアノテーションとして追加します。
ログエラースニペットへのアノテーションの追加は、テクノロジープレビューのみの機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビューの機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行いフィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
現在、Pipelines as Code は、エラーが次の形式の makefile
または grep
出力のように見える単純なケースのみをサポートしています。
<filename>:<line>:<column>: <error message>
error-detection-simple-regexp
パラメーターを使用して、エラーの検出に使用される正規表現をカスタマイズできます。正規表現は名前付きグループを使用して、マッチングを柔軟に指定できるようになります。一致する必要があるグループは、filename
、line
、および error
です。デフォルトの正規表現の Pipelines as Code config map を表示できます。
デフォルトでは、Pipelines as Code はコンテナーログの最後の 50 行のみをスキャンします。error-detection-max-number-of-lines
フィールドでこの値を増やすか、-1
を設定して行数を無制限にすることができます。ただし、このような設定では、ウォッチャーのメモリー使用量が増加する可能性があります。
Webhook のステータス
Webhook の場合、イベントがプルリクエストの場合、ステータスはプルまたはマージリクエストのコメントとして追加されます。
失敗
namespace が Repository
カスタムリソース定義 (CRD) に一致する場合に、Pipelines as Code は namespace 内の Kubernetes イベントにその失敗ログメッセージを出力します。
Repository CRD に関連付けられたステータス
パイプライン実行の最後の 5 つのステータスメッセージは、Repository
カスタムリソース内に保存されます。
$ oc get repo -n <pipelines-as-code-ci>
NAME URL NAMESPACE SUCCEEDED REASON STARTTIME COMPLETIONTIME pipelines-as-code-ci https://github.com/openshift-pipelines/pipelines-as-code pipelines-as-code-ci True Succeeded 59m 56m
tkn pac describe
コマンドを使用すると、リポジトリーおよびそのメタデータに関連付けられた実行のステータスを抽出できます。
通知
Pipelines as Code は通知を管理しません。通知が必要な場合は、パイプラインの 最後
の機能を使用します。
関連情報