2

我正在使用edeliverdistillery.

我还成功地创建了systemd.service从命令行启动、停止、重新启动等发布的文件。

但是该mix edeliver start production命令似乎systemd通过普通的旧好的bin/my_app startshell 命令绕过了发行版。我想要的是systemd始终使用,即使是热上传,因为它(不像upstart)确实提供了reload功能。

我找不到我该告诉谁来systemd[重新]开始发布。应该是delivery战略吗?还有什么?我知道这个问题不适合 SO,但我只是迷路了。

那么:我可以强制使用edeliver来启动发布吗?如果是,如何?distillerysystemd

4

1 回答 1

1

FWIW,我会在这里发布。我用一个讨厌的东西克服了这个问题。我有一个release.sh包含少量后续build,deployping命令的脚本。所以我做了以下事情:

# mix edeliver restart production

for host in `cat .deliver/config | grep PRODUCTION_HOSTS | cut -d '=' -f 2 | sed -e 's/"//g'`
do
  echo "Restarting the remote [$host]..."
  echo `ssh rates-injector@$host sudo systemctl restart rates_injector.service`
done
echo "Likely restarted."

基本上,我手动发出restart命令,从文件systemctl中获取生产主机列表。.deliver/config

于 2017-08-11T11:40:48.557 回答