一起部署多个应用程序

时间:2016-04-28 12:20:15

标签: capistrano

我有两个配置为使用capistrano部署的应用程序,它们都可以单独部署,但我想发布两个应用程序需要一起部署的版本。

如果有解决方案可以将多个capistrano部署在一起并选择分支?

我尝试过caphub,但它不适合我,我明白了:

cap aborted!
NoMethodError: undefined method `gsub' for #<Proc:0x007f870bf5a8e0>

我可以使用bash脚本来部署所有内容,但还有更好的东西吗?

2 个答案:

答案 0 :(得分:0)

尝试查看Git Submodules

基本上你选择1个主要仓库并将其余部分作为子模块,这样Capistrano只能从一个git repo = atomic deploy中获取。

它实际上并没有合并回购,每个回购都有自己的提交历史记录 子模块&#39;代码将显示在主模块的根文件夹下。

因此,如果您的所有应用都在同一台服务器上,这可能是一个很好的解决方案。

答案 1 :(得分:0)

如果你想在你的项目中保留Capistrano的配置但是仍然可以部署它们,那么有更好的方法înparalell。

即使两个项目使用不同版本的Capistrano(2.x和3.x)

,这也有效

您只需要执行四个简单的步骤:

1)从终端în任何目录运行此命令。但要确保你有ruby&gt; = 2.2。

gem install capistrano_multiconfig_parallel -v 2.4.O

2)在您的主目录(/ home / username)中创建名为'multi_cap.yml'的YAML文件

3)阅读本自述文件https://github.com/bogdanRada/capistrano_multiconfig_parallel并将所有配置文件放入其中。文件。

4)在自述文件中显示部署înpallel。

此gem允许您同时将应用程序部署到多个阶段。

您可以在运行时指定不同的分支。

但在你做这一切之前。您需要确保每个任务都不会使用其他任务可能使用的资源(文件),否则您将发现自己陷入僵局。

享受:)