CI/CD パイプラインのリトムテスト - AWS 規範ガイダンス

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

CI/CD パイプラインのリトムテスト

化学では、リトマス紙は特殊な赤または青の色合いで処理された薄い紙片で、物質の変性を判断するために使用されます。アジットは青リトムス紙を赤に、ベースは赤リトムス紙を青に、中立的な物質は紙の色にまったく影響しません。

リトム紙がアルコール度を決定する方法は、物質のリンレベルを測定することです。レベルが 8 より大きい場合、それは古く、5 より小さい場合は基本、5 から 8 の間であれば中立です。同様に、CI/CD リトムテストは、パイプラインの CI/CD レベルを測定するのに役立ちます。

パイプラインが完全に CI/CD であるかどうかをテストするには
  1. 0 のスコアから始めます。

  2. 次の各質問に回答し、はいと答えるたびにスコアに 1 を追加します。

    • リポジトリにはそれぞれ、環境にデプロイするために使用されるメインブランチが 1 つだけありますか?

    • メインブランチに頻繁にコードをコミットし、長時間実行される特徴量ブランチは避けていますか?

    • パイプラインには単一のエントリポイントがありますか? つまり、パイプラインは各リポジトリからコードを 1 回だけプルしますか?

    • デプロイ環境が複数ありますか?

    • パイプラインが実行されていない場合、上位環境と下位環境は一般的に同期されていますか?

    • デプロイする前にコードでテストを実行しますか?

    • 次の環境に昇格する前に、環境でテストを実行しますか?

    • パイプラインは完全なロールバックを行い、障害後に終了しますか?

    • 障害から復旧するときに、パイプラインは最初のステップから再開されますか?

    • 本番環境のバグを修正するには、機能を本番環境にリリースする場合と同じプロセスに従いますか?

    • コードをデプロイするために何らかの形式のInfrastructure as Code (IaC) テンプレートを使用していますか?

  3. 以下の各質問に回答し、いいと答えるたびにスコアに 1 を追加します。

    • メインブランチ以外のブランチからデプロイ環境に直接デプロイしたことはありますか?

    • ブランチから上位環境または本番環境に直接デプロイしたことはありますか?

    • 多くの場合、上位の環境ではバグが発見され、下位の環境では発見されないことがありますか?

    • デプロイ中に低い環境をバイパスしたことはありますか?

    • スケジュールされたリリース時間が本番環境にデプロイされるまで待ちますか?

    • 本番環境のコンソールで定期的に更新していますか?

    • デプロイを完了するには、本番環境のコンソールで手動デプロイ手順を実行する必要がありますか?

    • 複数のユーザーが本番環境への書き込みアクセス権を持っていますか?

    • 5 人以上のユーザーが本番環境への書き込みアクセス権を持っていますか?

  4. スコアを 2 で割ります。これはパイプラインの CI/CD スコアです。

  5. パイプラインの CI/CD スコアを次の表と比較して、パイプラインの CI/CD レベルを判断します。

    CI/CD スコア

    CI/CD レベル

    9.5 以上

    完全な CI/CD

    8~9

    ほとんど CI/CD

    5~7

    [Neutral] (ニュートラル)

    5 未満

    CI/CD ではない

スコアが 8 未満の場合は、次のレベルに徐々に移行する目標を設定することをお勧めします。その目標が達成されたら、製品の利害関係者は、新しい目標を設定するかどうか、いつ設定すべきかを評価する必要があります。この演習の目的は、必ずしもパイプラインへの変更を主張するのではなく、完全な CI/CD デプロイプロセスがどのように見えるか、パイプラインが現在その領域にある場所を把握することです。