我想使用角色部署具有相同deploy.rb的多个应用程序。不同的应用程序应具有不同的选项,例如, deploy_to和scm。就像我在给Capistrano google小组的电子邮件中描述的那样:
https://groups.google.com/d/msg/capistrano/LQpWkHr9h18/FQS8jl8-DQAJ
我是卡皮斯特拉诺的新手,正在努力解决问题。
我有一个代码库,到目前为止一直是Ruby on Rails应用程序 (使用Ruby 2.1.2),使用Capistrano进行部署。
现在我也想将代码库作为基于Ruby脚本的服务运行 (没有Rails,也没有侦听HTTP请求)。这个版本的 服务将使用JRuby运行。
两个应用程序都使用相同的Gemfile,共同使用大量代码 两个应用程序之间。
我试图弄清楚如何扩展Capfile来支持 其他部署配置。
我正在关注的方向是使用新角色进行部署 Capfile。这个新角色会有很多不同之处 现有的,例如它如何重新启动服务所在的服务 安装。
我的问题是:这种方法有意义吗?谁能指出 找出一个更复杂的Capfile,它显示了我所拥有的一部分内容 描述
与此同时,我正在考虑在新角色中添加新角色 命名空间。
谢谢大卫
版本:Ruby ruby 2.1.2 + jruby 9.0.4.0 Capistrano 3.4.0
答案 0 :(得分:1)
角色的目的是定义在大多数常见的情况下要运行的任务。例如,您可能希望在一台服务器上运行数据库迁移,在另一台服务器上重新启动应用程序,并在另一台服务器上执行一些后台进程。但是所有这些角色都会将相同的代码复制到服务器上的相同位置。
如果要部署多个不同的应用程序,则应该使用多个Capistrano配置。
答案 1 :(得分:0)
不幸的是,我得出的结论是,这是不可能的。
deploy_to等配置设置是全局的,不能为每个角色覆盖。