【发布时间】:2019-12-03 04:21:12
【问题描述】:
我正在尝试自动化我的应用程序的部署过程,但是我似乎无法弄清楚如何在完成设置后不让 CodeDeploy 终止我的应用程序。我认为这是我如何在 appstart.sh 中启动我的应用程序的问题,我发现最好的是使用 nohup,即使在注销后也不应该终止应用程序,但它似乎也没有成功。
目前的脚本是:
appstart.sh:
#!/bin/bash
/scripts/start_server.sh > /dev/null 2> /dev/null < /dev/null &
start_server.sh:
#!/bin/bash
nohup dotnet run --project /var/project/WebServer/WebServer.fsproj &
appspec.yml 钩子:
hooks:
ApplicationStart:
- location: scripts/appstart.sh
timeout: 300
runas: root
我已经尝试了六种启动应用程序的方法,但它似乎总是在 CodeDeploy 完成部署后关闭。如果我在部署后通过 SSH 连接到实例并使用 nohup 手动启动应用程序,那么即使在注销后它也能正常运行,所以这似乎是我不理解的 CodeDeploy 的一些交互。
【问题讨论】:
标签: .net linux bash amazon-web-services aws-code-deploy