我正在尝试使用 AWS CodeDeploy 将应用程序部署到 EC2 实例上。我已经到了 CodeDeploy 出错的地步BeforeInstall
。我收到的错误消息与ScriptMissing
. 确切的错误是:
Script does not exist at specified location: /opt/codedeploy-agent/deployment-root/1bfe51a8-151a-4366-8a3f-c061adb4bb90/d-X8N0B5IOE/deployment-archive/scripts\codedeploy\install_dependencies.sh
奇怪的是该文件存在于我的版本控制存储库中。到目前为止,我已经尝试更改脚本的权限,并且还在 appspec.yml 文件中尝试了不同的方法,以便让 CodeDeploy 识别该文件。所有方法都失败了。我尝试了与此方案相关的其他解决方案,但它们似乎对我没有帮助。
appspec.yml 中的这些脚本文件是否也需要成为 CodeDeploy 使用的 zip 文件的一部分?任何意见,将不胜感激。下面是 appspec.yml 文件。
应用规范
version: 0.0
os: linux
files:
- source: /
destination: /var/www/html
overwrite: true
hooks:
BeforeInstall:
- location: scripts/codedeploy/install_dependencies.sh
timeout: 300
runas: root
AfterInstall:
- location: scripts/codedeploy/install_composer_dependencies.sh
timeout: 300
runas: root
- location: scripts/codedeploy/start_server.sh
timeout: 30
runas: root
ApplicationStop:
- location: scripts/codedeploy/stop_server.sh
timeout: 30
runas: root