タイトル通りです。以下のようなエラーをCodePiplineで呼び出してるCodeDeployから受けました。
Event details
Error code ScriptFailed Script name ./codedeployhooks/aftinstall.sh Message Script at specified location: ./codedeployhooks/aftinstall.sh run as user root failed with exit code 127
Logs
LifecycleEvent - AfterInstall Script - ./codedeployhooks/aftinstall.sh [stderr]/usr/bin/env: bash : No such file or directory
Code
コードの先頭は以下で、Shebangでエラーが出る理由がまったくわからずに1時間以上を消費しました。。
#!/usr/bin/env bash # Refer: https://github.com/aws/aws-codedeploy-agent/issues/14#issuecomment-204461833 LOGFILE=/var/log/codedeploy-$(date +%Y%m).log echo "#[$(date --iso-8601="s")] Starting AfterInstall ...." | tee -a ${LOGFILE} ...
原因
原因はファイルがCRLFだったためでした。それだけです。
WIndows使いの他の方が、コード内に含まれている日本語文言を修正した時に変化してしまったようです。 CRLFには少なくない数で煮湯を飲まされている気がするのでもっと早く気づけたらよかったですが、ブログに書くことで気持ちがおさまってきたのでヨシ。