パイプラインデザインパターン


引用

CI/CD Conferenece 2021 現場に合わせて考えた パイプラインのデザインパターンの自分なりのまとめ。

パイプラインデザインパターン

組み立て方に関するパターン

All in One パターン

一つのパイプライン定義ファイルに全てのジョブ、ステージを記載

スクリプト外部化 パターン

パイプラインで実行する処理をシェルスクリプトに切り出す

環境変数外部化 パターン

パイプラインに埋め込みたくないクレデンシャル情報を、CI/CDツールに埋め込む

部分継承 パターン

アプリリポジトリとは別にパイプラインリポジトリを用意し、共通的な処理はそれを参照させる

テンプレートジョブ パターン

ジョブ全てを共通処理にまとめ、各アプリから実行時引数により動作する処理を選択する

導入に関するパターン

テンプレートプロジェクト パターン

スケルトンプロジェクトを用意し、アプリ担当者はfork、copyしてカスタムする

作成単位に関するパターン

アプリ・インフラ分離 パターン

アプリとインフラのリポジトリを分割させる

起動方式に関するパターン

パラメータ化 タグ/ブランチ パターン

タグ、ブランチを変数として処理を分岐させる

親子 パターン

親パイプラインから複数の子パイプラインを実行させる

エラーチェックに関するパターン

早期エラーチェック パターン

パイプライン実行時に、各ステージの変数チェックやURL疎通確認を行う