指定位置不存在 CodeDeploy 脚本 - appspec.yml

CodeDeploy Script does not exist at specified location - appspec.yml

我正在尝试使用 CodeDeploy 在 AWS 上部署我的应用程序。

这是我的 appspec.yml 文件:

version: 0.0

os: linux

files:
  - source: /
    destination: /home/ec2-user/todos // <== this dir already exists in my instance

hooks:
  ApplicationStop:
    ...

  BeforeInstall:
    - location: scripts/prerequisites
      timeout: 1200
      runas: root

  AfterInstall:
    ...
  ApplicationStart:
    ...
  ValidateService:
    ...

我不断收到以下错误:

Error Code: ScriptMissing

Script Name: scripts/prerequisites

Message: Script does not exist at specified location: /opt/codedeploy-agent/deployment-root/2e557520-7ffe-4881-8c7c-991952c56e05/d-UWR3Z01FE/deployment-archive/scripts/prerequisites

Log Tail: LifecycleEvent - BeforeInstall

我的脚本存储在一个名为 'scripts' 的文件中,该文件位于我的应用程序的根目录下。

我错过了什么?还是做错了?如果有人能在正确的方向上帮助我,我将不胜感激!

好的,看来这个问题只是一个拼写错误。我忘记将文件扩展名写入我的脚本 (.sh)

像这样:

BeforeInstall:
    - location: scripts/prerequisites.sh // <--- this fixed it
      timeout: 1200
      runas: root

希望对大家有所帮助。