⚠️

AWS CodeDeploy(CodePipeline)でApplicationStopの箇所でコケる

に公開

AWS CodeDeploy(CodePipeline)でApplicationStopの箇所でコケる

症状

ApplicationStopで動かしているシェルスクリプトが正常に終了しないものになっており exit 0 以外で終了するため ScriptFailed と出てデプロイがコケてしまっている
シェルスクリプトを正常なものに書き直しても前回の成功したデプロイのシェルスクリプトを実行するためそのままでは修正ができない

対処法

該当のインスタンスにログインし、実行しようとしているシェルスクリプトを直接書き換える

対象のEC2インスタンスを特定する

CodePipelineから最後に成功しているデプロイのインスタンスIDを特定する

パイプラインの詳細を表示

成功しているパイプラインの詳細を開く

成功しているCodeDeployの詳細を開く



インスタンスIDを開く

対象のEC2インスタンスの中に入る

接続を開く

セッションマネージャーで接続する

シェルスクリプトを書き換える

コードがありそうな場所に移動

$ cd $(cat /opt/codedeploy-agent/deployment-root/deployment-instructions/*_last_successful_install)/deployment-archive

後は sudo vi <ファイル名> などで編集して書き換えて完了

参考

https://dev.classmethod.jp/articles/codedeploy-applicationstop-hook-not-executed-for0first-deployment/

ユカイ工学テックブログ

Discussion