第2章 サンプルパイプラインのカスタマイズ
サンプルテンプレートリポジトリー内の Pipeline as Code (pac
) URL を更新し、ワークフローに合わせてサンプルパイプラインリポジトリーをカスタマイズする方法を説明します。pac
URL をカスタマイズすることで、組織の CI/CD 要件に合わせてカスタマイズしたパイプラインを統合できます。
前提条件
変更を行う前に、次の点を確認してください。
すでに次のリポジトリーをフォークしてクローンした。
- フォークしたリポジトリーは最新であり、アップストリームリポジトリーと同期済みである。
サンプルテンプレートリポジトリーをカスタマイズして pac
URL を更新する*
手順
フォークされたサンプルパイプラインリポジトリーの URL にアクセスします。
- フォークされたサンプルパイプラインリポジトリーを開きます。
- アドレスバーから完全な URL をコピーします。たとえば、https://github.com/<username>/tssc-sample-pipelines です。
サンプルテンプレートリポジトリーの
pac
URL を更新します。- ターミナルを使用して、ローカルに複製されたサンプルテンプレートリポジトリーに移動します。
- 次のコマンドを実行します。{fork_url} は手順 1 でコピーした URL に置き換え、{branch_name} は目的のブランチ名 (main など) に置き換えます。
./scripts/update-tekton-definition {fork_url} {branch_name} # For example, .scripts/update-tekton-definition https://github.com/<username>/tssc-sample-pipelines main
変更を確認し、コミットしてプッシュします。
- サンプルテンプレートリポジトリー内の更新したファイルを確認します。
- 適切なメッセージとともに変更をコミットします。
- コミットした変更を、フォークされたリポジトリーにプッシュします。
サンプルパイプラインリポジトリーをワークフローに合わせてカスタマイズする
サンプルパイプラインリポジトリーは、組織固有の CI/CD ワークフローをビルドするための基盤を提供します。サンプルパイプラインリポジトリーでは、pac
ディレクトリーにいくつかの主要なパイプラインテンプレートが含まれています。
-
gitops-repo
: このディレクトリーには、GitOps リポジトリー内のプルリクエストを検証するためのパイプライン定義が保存されます。これは、pipelines
ディレクトリーにあるgitops-pull-request
パイプラインをトリガーし、イメージの更新が組織の標準に準拠していることを検証します。開発からステージング、ステージングから実稼働環境など、アプリケーションのデプロイメント状態を環境間で順に進めるプロモーションワークフローにおいて、このセットアップは重要です。gitops-repo
のパイプライン定義の詳細は、Gitops Pipelines を参照してください。 -
pipelines
: このディレクトリーには、gitops-repo
とsource-repo
の両方のイベントハンドラーが参照するビルドおよび検証パイプラインの実装が格納されます。このディレクトリーの内容を調べることで、パイプラインが実行する特定のアクションや、パイプラインがアプリケーションのセキュアなプロモーションおよびデプロイメントに貢献する方法を理解できます。 -
source-repo
: このディレクトリーは、Dockerfile ベースのセキュアなサプライチェーンソフトウェアのビルドに特化しています。このディレクトリーには、ソースを複製し、アーティファクトを生成および署名し (イメージ署名の.sig
、アテステーションの.att
、Software Bill of Materials の.sbom
など)、これらをユーザーのイメージレジストリーにプッシュするためのパイプライン定義が含まれます。source-repo
のパイプライン定義の詳細は、Shared Git resolver model for shared pipeline and tasks を参照してください。 -
tasks
: このディレクトリーには、組織のニーズに合わせて追加または変更できるタスクのコレクションが格納されます。たとえば、Advanced Cluster Security (ACS) タスクを代替のチェックに置き換えたり、まったく新しいタスクをパイプラインに統合して機能とコンプライアンスを強化したりできます。
検証
- テンプレートおよびパイプラインのカスタマイズによる影響を調べるアプリケーションの作成を検討してください。
関連情報
- テンプレートをカスタマイズするには、サンプルソフトウェアテンプレートのカスタマイズ を参照してください。
- Pipeline as Code の詳細は、Pipelines as Code について を参照してください。