ScriptFailed
스크립트 이름:
scripts/start.sh
메시지:Script at specified location: scripts/start.sh run as user root failed with exit code 255
로그:
LifecycleEvent - ApplicationStart
Script - scripts/start.sh
[stderr]pm2: No such file or directory
배포 자동화를 하는 중 다음과 같은 위와 같은 에러가 발생하였다. 에러 이름만 보면 start.sh 파일이 없다는 내용이지만, /opt/codedeploy-agent/deployment-root/deployment-logs
를 살펴보니 다음과 같은 내용을 확인할 수 있었다.
로그를 살펴보니 처음으로 에러가 발생한 부분은 scripts/start.sh 파일이었고 pm2: No such file or directory
라는 에러가 발생하고 나서 scripts/initialize.sh 파일이 계속 실행이 되었는데 그때부터 npm 에러가 계속 발생했다.
특히 node v8.10.0
이라는 부분과 쭉 내려가다보면 pm2@5.2.0: wanted: {"node":">=10.0.0"} (current: {"node":"8.10.0","npm":"3.5.2"})
라는 내용도 확인할 수 있었다.
따라서, 검색해본 결과 노드 버전이 너무 낮아서 생긴 문제였다. NodeSource에서 Node.js 및 npm 설치를 참고하여 14버전의 노드를 설치했다. 노드 버전을 높여서 설치하니 성공적으로 배포되었다.