継続的インテグレーションのツールチェーンにおけるベストプラクティス

継続的インテグレーション (CI) ツールチェーン DevSecOps の実装は、これらのプラクティスに従っている。

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