メインコンテンツまでスキップ

CodePipelineの機能

CodePipelineのEKSアクションのその他の機能

  1. プライベートクラスターのサポート: ユーザーはCodePipeline EKSアクションでプライベートのみのアクセスを持つクラスターを設定できます。デフォルトでは、CodePipelineはクラスターで設定されているサブネットとセキュリティグループを使用します。ただし、アクション設定で指定することで、これらをオーバーライドできます。
  2. Helm: kubectlに加えて、CodePipeline EKSアクションでは、ユーザーはhelmチャートでEKSアクションを設定できます。このアクションは.tgz形式の入力も受け付けます。そのため、S3バケットに.tgz形式のhelmチャートがある場合、zipファイル化せずに、S3バケット/キーを別のソースアクションとして追加することで直接使用できます。

EKSアクションで使用できるCodePipelineのその他のCD機能

  1. 動的変数: CodePipelineでは、ユーザーは変数を使用してアクションへの入力を実行時に変更できます。CodePipelineはアクションレベルとパイプラインレベルの変数をサポートしています。アクション変数の値は、実行時にアクションによって生成されます(このモジュールで見られるように)。一方、パイプライン変数は、パイプライン実行を開始する前にユーザーによって提供されます。

  2. リリースオーケストレーションコントロール: CodePipelineは、ユーザーにリリースオーケストレーション操作を提供します。これらの操作には、パイプライン実行のリトライ、停止、ブロック、ロールバックが含まれます。

  3. リリース安全性: CodePipelineは、ユーザーがリリース操作を自動化できるようにすることで、デプロイメントにリリース安全性を追加します。ユーザーはステージに条件を追加することでこれを達成できます。

    i. エントリゲート: ユーザーはエントリ条件(ステージ条件)を追加して、条件が満たされた場合にデプロイメントをブロック/スキップできます。EKSアクションステージにタイムウィンドウを追加して、1日/週の特定の時間にデプロイメントをタイミングすることができます。同様に、CloudWatchアラームを追加して、デプロイメント環境が正常な場合にのみデプロイメントを許可することもできます。また、特定の条件が満たされた場合、例えば変更セットが特定の環境向けの場合などに、デプロイメントをスキップすることもできます。リリース安全性のブログ

    ii. エグジットゲート: ユーザーは出口条件(ステージ条件)を追加して、条件が満たされた場合にデプロイメントを失敗、リトライ、またはロールバックすることができます。CloudWatchアラームを追加し、CloudWatchアラームが赤になった場合にデプロイメントをロールバックすることができます。デプロイメント環境が不安定な場合は自動的にリトライすることもできます。自動ロールバックのブログ

  4. 手動承認 パイプライン実行のオーケストレーションを自動化することに加えて、CodePipelineではリリースプロセスを承認主導で設定することができます。手動承認アクションにより、アプリケーションの変更を検査し、承認/拒否することができます。