2017-08-10 44 views
1

我正在部署Elixir项目到远程使用edeliver备份distilleryedeliver与酒厂:如何设置`start`命令来使用systemctl

我还成功创建了systemd.service文件启动,停止,重新启动等命令行释放。

mix edeliver start production命令似乎运行释放绕过systemd,通过简单的旧好bin/my_app start shell命令。我要的是用systemd始终,甚至用热上传,因为它(不像upstart)不提供reload功能。

我找不到什么,谁我会告诉使用systemd为[重新]开始释放。应该是delivery策略吗?还有别的吗?我明白这个问题不适合所以,但我只是迷失了。

所以:我可以强制edeliver超过distillery使用systemd开始发布吗?如果是,如何?

回答

0

FWIW,我将它张贴在这里。我用一个讨厌的杂物克服了这个问题。我有一个release.sh脚本包含一些后续builddeployping命令。所以,我做了以下内容:

# 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 [email protected]$host sudo systemctl restart rates_injector.service` 
done 
echo "Likely restarted." 

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

相关问题