CodeDeploy:在指定位置的脚本:以root用户身份运行的scripts / stop_server失败,退出代码为1

时间:2019-03-27 00:30:14

标签: amazon-web-services amazon-ec2 continuous-deployment aws-codepipeline

无论我在stop_server文件中放什么内容,CodeDeploy都将出现上述错误。 我什至注释掉了所有行以简化调试,所以现在看起来像这样

#!/bin/bash
# pkill -f node

我的appspec.yml

version: 0.0
os: linux
files:
  - source: /app.js
    destination: /home/ec2-user/node-website
  - source: /package.json
    destination: /home/ec2-user/node-website
  - source: /public/
    destination: /home/ec2-user/node-website/public
  - source: /node_modules
    destination: /home/ec2-user/node-website/node_modules

permissions:
  - object: /
      pattern: "**"
      owner: ec2-user
      group: ec2-user

hooks:
  AfterInstall:
    - location: scripts/install_dependencies
      timeout: 300
      runas: ec2-user
    #- location: scripts/codestar_remote_access
    #  timeout: 300
    #  runas: ec2-user
    - location: scripts/start_server
      timeout: 300
      runas: ec2-user

  ApplicationStop:
    - location: scripts/stop_server
      timeout: 300
      runas: ec2-user

任何建议都值得赞赏!

2 个答案:

答案 0 :(得分:0)

您可以查看代码部署日志以查找更多详细信息,这些日志通常位于:

codedeploy-agent / deployment-root / deployment-logs / codedeploy-agent-deployments.log

查找更详细的错误日志,让我知道您是否仍然无法解决

答案 1 :(得分:0)

当您进行部署时,它实际上会使用您上次成功部署的 ApplicationStop,而不是您当前的部署。我通过删除有问题的应用程序并创建一个新应用程序来解决该问题。