第5章 Pipelines as Code の使用
Pipelines as Code リゾルバーは、実行中のパイプライン実行が他のパイプライン実行と競合しないようにします。
5.1. Pipelines as Code リゾルバーについて
パイプラインとパイプライン実行を分割するには、ファイルを .tekton/
ディレクトリーまたはそのサブディレクトリーに保存します。
Pipelines as Code が、.tekton/
ディレクトリーにある YAML ファイル内のタスクまたはパイプラインへの参照を使用してパイプライン実行を監視すると、Pipelines as Code は、参照されたタスクを自動的に解決して、PipelineRun
オブジェクトに埋め込まれた仕様と合わせて単一のパイプラインを実行します。
Pipelines as Code が Pipeline
または PipelineSpec
定義で参照されるタスクを解決できない場合に、実行はクラスターに適用される前に失敗します。Git プロバイダープラットフォームと、Repository
CR が置かれているターゲット namespace のイベント内で問題を確認できます。
リゾルバーは、以下のタイプのタスクを監視する場合に解決を省略します。
- クラスタータスクへの参照。
- タスクまたはパイプラインバンドル。
-
API バージョンに
tekton.dev/
接頭辞のないカスタムタスク。
リゾルバーは、そのようなタスクを変換せずにそのまま使用します。
プルリクエストに送信する前にパイプライン実行をローカルでテストするには、tkn pac resolve
コマンドを使用します。
リモートパイプラインおよびタスクを参照することもできます。