【问题标题】:Codedeploy-agent error when run in amazon linux instance在 amazon linux 实例中运行时出现 Codedeploy-agent 错误
【发布时间】:2017-09-20 12:27:39
【问题描述】:

当我使用 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 版本agent_version: OFFICIAL_1.0-1.1095_rpm

【问题讨论】:

    标签: shell aws-code-deploy amazon-linux


    【解决方案1】:

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

    【讨论】:

    • 嗨@Ravi 很抱歉很长时间才回复你。感谢帮助。我解决了删除有问题的应用程序并创建一个新应用程序的问题。我相信问题正是你所难过的,ApplicationStop 钩子。
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-07-06
      • 1970-01-01
      • 1970-01-01
      • 2016-04-25
      • 2014-09-14
      • 2016-05-02
      • 2020-07-01
      相关资源
      最近更新 更多