2016-08-17 31 views
1

我在Capistrano的GitHub存储库问题跟踪器(https://github.com/capistrano/capistrano/issues/1750)上询问了此问题,并被告知在此提出同样的问题。如何使用自定义服务器属性填充deploy_to变量

我试图用自定义服务器属性(命名的组织)填充deploy_to变量以多次将同一个应用程序部署到同一台服务器。

set :deploy_to, "/home/deploy/sites/#{server.properties.organisation}" 

加载服务器阵列似乎是不可能的?使用fetch()方法。

回答

0

我为这种情况做了几件不同的事情。如果每个安装确实是相同的,我会部署一次,然后符号链接其他安装。如果每个安装都有不同的参数,我会创建多个目标(prod-1,prod-2,prod-2等等),每个目标指向同一台服务器。您可以使用帮助器方法来减少代码重复。然后,我会写一个脚本,运行bundle exec cap prod-1 deploy && bundle exec cap prod-2 deploy && ...

+0

这正是我现在正在做的解决方法。它确实感觉像是一个快速入侵,并且破坏了多服务器部署工具的用途。必须有更好的解决方案... –

+0

另一个破解可能是使用多个CNAME作为部署目标,所有这些都指向同一个服务器。 –

相关问题