継続的インテグレーションのツールチェーンにおけるベストプラクティス
継続的インテグレーション (CI) ツールチェーン DevSecOps の実装は、これらのプラクティスに従っている。
- アプリケーションのリポジトリに対して静的コードスキャナを実行し、アプリケーションのソースコードに含まれる秘密と、アプリケーションの依存関係として使用されている脆弱なパッケージを検出します。
- Git のコミットごとにコンテナイメージをビルドし、ビルド番号、タイムスタンプ、コミット ID に基づいたタグを設定してトレーサビリティを確保します。
- イメージ作成前にDockerfileをテストします。
- ビルドした画像をプライベート画像レジストリに保存する。
- APIトークンを使用して、ターゲットクラスターデプロイメントのアクセス許可を自動的に設定します。
- コンテナイメージのセキュリティ脆弱性をスキャンする。
- 成功するとDockerシグネチャを追加します。
- built-image タグをディプロイメント マニフェストに自動的に挿入します。
- 各デプロイメントを隔離するために、クラスタ内で明示的な名前空間を使用します (
kubectl delete namespaceコマンド)。 - 対象となる Git リポジトリブランチにマージされたコードを、Kubernetes クラスタに自動的にビルド、検証、デプロイします。