『知識ゼロエンジニアのブログ』第20弾は、前回、前々回と引き続きGitLabのコンテナ関連の話をしてきましたが、応用編としてGitLabでコンテナスキャンを実装し、緊急性の高い脆弱性が無ければコンテナレジストリに登録させる処理を実装する方法をご紹介します。
GitLabではCI/CDパイプラインを使って様々な処理を動かせますが、Auto DevOpsでコンテナスキャンをさせ、さらにコンテナレジストリへの登録可否の処理を分岐させるという応用編を通じてGitLabマスターへ近づいていただけます!
今回のブログ内容
「GitとCI/CDに関する知識ゼロのSEが、GitLabでコンテナイメージのスキャン結果によってイメージをプッシュするorしないパイプラインを作る」。
1. 本記事の対象の方
2. 今回のブログのゴール
3. このブログをお読みいただくにあたっての事前ご連絡事項
4. 実装するシナリオ
5. 事前準備
6. シナリオの実装
6-1. シナリオ1 : CI/CDパイプラインを使って任意のイメージをビルドする
6-2. シナリオ2 : ビルドしたイメージをAuto DevOpsを使ってスキャンする
6-3. シナリオ3 : ビルドしたイメージに緊急度の高い脆弱性がない場合は、コンテナレジストリに登録する
7. 【余談】筆者が検討したけど断念した実装方法
7-1. コンテナスキャンの結果を変数で取得したい
7-2. コンテナスキャンで脆弱性を検知したらジョブの終了ステータスを緑 (正常) 以外にしたい
8. 最後に
弊社パートナー様はNetworld Dev Portal アカウント(無料)登録いただくと、GitLabパートナー制度や DevSecOps関連提案資料などのパートナー限定コンテンツがご覧いただけます。
DevSecOps全般、GitLab製品または本サイトについては以下よりお問い合わせ下さい。