1

当我使用 GitHub 在 AWSCodeDeploy 中创建新部署时,我收到以下失败消息:

Error CodeScriptFailed
Script Namescripts/stop_server.sh
MessageScript at specified location: scripts/stop_server.sh run as user ubuntu failed with exit code 1
Log TailLifecycleEvent - ApplicationStop
Script - scripts/stop_server.sh
[stderr]su: user ubuntu does not exist

但是,我的实例是 Amazon Linux 实例,没有ubuntu用户,有人知道吗?

尝试运行的脚本是:

# scripts/stop_server.sh
#!/bin/bash
forever stop .

我的 appspec.yml 文件:

version: 0.0
os: linux
files:
   - source: /
     destination: /home/ec2-user
hooks:
  AfterInstall:
    - location: scripts/install_dependencies.sh
      timeout: 5
      runas: root
  ApplicationStart:
    - location: scripts/start_server.sh
      timeout: 5
      runas: root
  ApplicationStop:
    - location: scripts/stop_server.sh
      timeout: 5
      runas: root

Codedeploy-代理版本agent_version: OFFICIAL_1.0-1.1095_rpm

4

2 回答 2

0

代码部署在 /opt/code-deploy/.... 路径中创建临时应用程序。如果部署正常失败,则下次从临时目录开始。如果您想摆脱部署指向的错误,您应该检查临时目录中的特定脚本文件并进行编辑。

于 2018-01-19T17:27:38.587 回答
0

应用程序停止通常是指之前成功部署存档中的 appspec.yml。要么是空 的/opt/codedeploy-agent/deployment-archive/deployment-instructions/,要么你可以使用BeforeInstall钩子来执行停止脚本。

于 2017-04-27T04:28:21.733 回答