継続的デプロイメントとパイプラインの確認

作業手順

リポジトリの更新

  1. リポジトリを更新するために、アプリをバージョンアップします。

    • 以下のコマンドで、フロントエンドのViewを適当に(例えばタイトルなどを)書き変えてください。

    • 以下の例ではVimを使用していますが、好きなエディタでかまいません。Cloud9のエディタを利用することもできます。

    vim ~/environment/{ユーザ名}-ecsdemo-frontend/app/views/application/index.html.erb
    • 例えば私は、h2タグの上に<h1>CI/CD Test!</h1>と追加しました。
    1. 以下のコマンドで、リモートリポジトリへ変更をpushします。
    git add -A
    git commit -m "pipeline test"
    git push origin master

2.継続的デプロイメントの動作確認

  1. 「CodePipeline」、「パイプライン」、「先ほど作成した{ユーザ名}-ecsdemo-pipeline」と順に選択し、CodePipelineのパイプラインが自動的に開始され、正常に完了することを確認します。

    1

  2. 次に、CodeDeployでGreen環境が立ち上がったら、ALBのエンドポイントの9000ポートにアクセスして、Green環境が閲覧できることを確認します。

    • ここで、Green環境に先ほどの更新がデプロイされていることを確認しましょう。
  3. さらにECSコンソールから、新しいタスク定義でサービス更新が行われていることを確認します。

  4. 最後に、CodeDeployで「トラフィックの再ルーティング」を選択し、Green環境が本番用の80ポートにルーティングされていることを確認します。

    • 余裕のある方は、ALBのリスナーからターゲットグループが入れ替わっていることを確認しましょう。
  5. また、元のタスクセットの終了の待機期間(今回は10分)が経過すると、もともと残っていたタスクセットが削除され、デプロイメントが完全に終了します。

    • つまり、この期間が終了するまではロールバックを実施できます。