【问题标题】:How to keep application running after CodeDeploy finishes deploymentCodeDeploy 完成部署后如何保持应用程序运行
【发布时间】: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


    【解决方案1】:

    在部署后保持 WebServer 运行的一种方法是使用部署将其转换为带有 systemd 的服务。这通常是一个更好的设计,因为通过自动重启和 Syslog 控制提高了应用程序的弹性。

    【讨论】:

      猜你喜欢
      • 2016-09-14
      • 1970-01-01
      • 1970-01-01
      • 2021-10-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多