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