1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

CodePiplineのDeploy StageでInstall eventsが一生続いた話

Posted at

結論

CodeDeployなどログを直接確認できないサービスにおいては、その処理に関連するサービス、リソースのところに行き何か手がかりとなるものがないか探すのが良い!

事案

CodePiplineを実行しDeploy stageの段階に来たときに

Step 1. Deploying replacement task set
Deployment lifecycle eventsinstall

にてin progressの状態で一生止まっていた

直接ログ確認などができずどうしたものかと悩んでいた
冷静に考えてみるとDeploying replacement task setということでタスクの切り替えを行なっている段階ということでタスク関連であると

そこで今回のデプロイで使用されているタスク定義を調べた

CodeDeploy > Deploy > Deployments > Deploy
画面にてRevision detailsからRevisionの詳細画面にいくとappspec.yamlを確認することができる

スクリーンショット 2021-12-29 21.54.30.png

ここから使用されている当該バージョンタスク定義の詳細を見に行き設定がしっかりなされているかを確認した

今回の場合で言うとappspec.yamlTaskDefinitiontaskdef.jsonファイルに記述したタスク定義となっているのでファイル内容に誤りがないかを確認した

基本的にtaskdef.jsonはあらかじめ作成しておいたタスク定義をjson formatでコピーしたものであり修正箇所というとimageプロパティを<IMAGE1_NAME>にする箇所なのでそこのチェックをしたが誤りを見つけることはできなかった

次にタスクを実行させる場面に原因があると思いECS Serviceからタスク実行ログが見るのでそこの確認をしに行った

するとタスク実行停止イベントの山のように存在していた笑

停止されたタスクの停止理由の箇所を確認するとGreen DeploymentにてHealthcheckの設定が/healthcheckとなっていた

通常であればこれが普通の設定であるが今回テスト的に実行していたので/healthcheckパスに何も設定しておらず/しかレスポンスが返ってこない状況であった

今回の収穫としては、CodeDeployではCodeBuildのようなログを直接確認できるものはないのでDeployの各段階で行なっている処理に関連するサービス、リソースを確認していくことが重要であるという知見を得た

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?