同时部署多个应用程序
Deploying multiple app together
我有两个配置为使用 capistrano 部署的应用程序,它们都可以单独部署,但我想发布两个应用程序需要一起部署的版本。
是否有部署多个 Capistrano 一起部署和 select 个分支的解决方案?
我试过 caphub,但它对我不起作用,我明白了:
cap aborted!
NoMethodError: undefined method `gsub' for #<Proc:0x007f870bf5a8e0>
我可以有一个 bash 脚本来部署所有,但是有更好的东西吗?
尝试查看 Git Submodules。
基本上你选择 1 个主 repo,其余的作为子模块,这样 Capistrano 只从一个 git repo = atomic deploy.
它不会真正合并回购协议,每个回购协议都会像以前一样有自己的提交历史。
子模块的代码将出现在主模块的根文件夹下。
因此,如果您的所有应用程序都在同一台服务器上,这可能是一个很好的解决方案。
如果您想在项目中保留 Capistrano 的配置但仍然能够并行部署它们,那么有更好的方法。
即使这两个项目使用不同版本的 Capistrano(2.x 和 3.x),这仍然有效
您只需执行四个简单的步骤:
1) 运行 此命令来自终端 î 在任何目录中。但请确保您有 ruby >= 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) 运行 并行部署,如自述文件中所示。
这 gem 允许您同时将应用程序部署到多个阶段。
并且您可以在运行时指定不同的分支。
但在你做这一切之前。您需要确保每个任务不会使用其他任务也可能使用的资源(文件),否则您会发现自己陷入僵局。
尽情享受吧:)
我有两个配置为使用 capistrano 部署的应用程序,它们都可以单独部署,但我想发布两个应用程序需要一起部署的版本。
是否有部署多个 Capistrano 一起部署和 select 个分支的解决方案?
我试过 caphub,但它对我不起作用,我明白了:
cap aborted!
NoMethodError: undefined method `gsub' for #<Proc:0x007f870bf5a8e0>
我可以有一个 bash 脚本来部署所有,但是有更好的东西吗?
尝试查看 Git Submodules。
基本上你选择 1 个主 repo,其余的作为子模块,这样 Capistrano 只从一个 git repo = atomic deploy.
它不会真正合并回购协议,每个回购协议都会像以前一样有自己的提交历史。
子模块的代码将出现在主模块的根文件夹下。
因此,如果您的所有应用程序都在同一台服务器上,这可能是一个很好的解决方案。
如果您想在项目中保留 Capistrano 的配置但仍然能够并行部署它们,那么有更好的方法。
即使这两个项目使用不同版本的 Capistrano(2.x 和 3.x),这仍然有效
您只需执行四个简单的步骤:
1) 运行 此命令来自终端 î 在任何目录中。但请确保您有 ruby >= 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) 运行 并行部署,如自述文件中所示。
这 gem 允许您同时将应用程序部署到多个阶段。
并且您可以在运行时指定不同的分支。
但在你做这一切之前。您需要确保每个任务不会使用其他任务也可能使用的资源(文件),否则您会发现自己陷入僵局。
尽情享受吧:)