6.2. Pipelines as Code を使用したパイプライン実行
デフォルト設定では、Pipelines as Code は、プルリクエストやプッシュなどの指定されたイベントがリポジトリーで発生したときに、リポジトリーのデフォルトブランチの .tekton/ ディレクトリーで実行されるすべてのパイプラインを実行します。たとえば、デフォルトのブランチで実行されるパイプラインに、アノテーション pipelinesascode.tekton.dev/on-event: "[pull_request]" がある場合に、これはプル要求イベントが発生するたびに実行されます。
プルリクエストまたはマージリクエストが発生した場合、プルリクエストの作成者が次の条件を満たしている場合、Pipelines as Code はデフォルトブランチ以外のブランチからもパイプラインを実行します。
- 作成者がリポジトリーの所有者である。
- 作成者がリポジトリーのコラボレーターである。
- 作成者はリポジトリーの組織のパブリックメンバーです。
-
プルリクエストの作成者は、リポジトリーの GitHub 設定で定義されているように、
mainブランチのリポジトリールートにあるOWNERファイルに一覧表示されます。また、プルリクエストの作成者は、approversまたはreviewersセクションに追加されます。たとえば、作成者がapproversセクションにリストされている場合、その作成者が発行したプルリクエストによってパイプラインの実行が開始されます。
...
approvers:
- approved
...
...
approvers:
- approved
...
プル要求の作成者は、要件を満たす別のユーザーがプル要求で /ok-to-test をコメントして、パイプライン実行を開始できます。
パイプライン実行
パイプラインの実行は常に、イベントを生成したリポジトリーに関連付けられた Repository カスタムリソース定義 (CRD) の名前空間で実行されます。
tkn pac CLI ツールを使用して、パイプライン実行を確認できます。
最後のパイプライン実行を追跡するには、以下の例を使用します。
tkn pac logs -n <my-pipeline-ci> -L
$ tkn pac logs -n <my-pipeline-ci> -L1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
my-pipeline-ciはRepositoryCRD の namespace です。
任意のパイプライン実行を対話的に行うには、以下の例を使用します。
tkn pac logs -n <my-pipeline-ci>
$ tkn pac logs -n <my-pipeline-ci>1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
my-pipeline-ciはRepositoryCRD の namespace です。最後のパイプライン実行以外のパイプライン実行を表示する必要がある場合は、tkn pac logsコマンドを使用して、リポジトリーにアタッチされたPipelineRunを選択できます。
GitHub アプリケーションで Pipelines as Code を設定している場合に、Pipelines as Code は GitHub アプリケーションの Checks タブで URL を Post します。URL をクリックし、パイプラインの実行をたどることができます。