1

所以我正在使用 AWS Code deploy... 代码可以很好地发送到服务器,我可以看到一切都在它需要的地方。我的 appspec.yml 看起来像这样:

version: 0.0
os: linux
files:
  - source: ./
    destination: /dmi
hooks:
  ApplicationStart:
    - location: scripts/start_server.sh
      timeout: 500
      runas: root

很基本。问题是 CodeDeploy 似乎永远不会执行 scripts/start_server.sh

该文件看起来像这样:

java -jar ../*.jar

如果我 ssh 进入那台机器并手动运行 ./scripts/start_server.sh 它运行良好。那么为什么代码部署不执行 start_server.sh 呢?

4

1 回答 1

4

在我的脚本中scripts/start_server.sh我发现我必须重定向stdin和后台任务:stdout

/var/myservice/scripts/run > /dev/null 2> /dev/null < /dev/null &

否则发射似乎挂起。

于 2015-08-19T02:37:14.220 回答