我正在尝试使用 multistage/ext estensions 部署我的应用程序。当每个阶段位于不同的服务器中时,它工作正常。但是对于一个特定的项目,我想将两个阶段部署到同一台服务器。
为此,我需要在每台服务器上设置不同的应用程序名称。那是行不通的。
我将application
变量移动到阶段文件并deploy_to
使用延迟加载定义变量。
配置/部署.rb
set :stages, %w(production beta)
set :default_stage, "beta"
require 'capistrano/ext/multistage'
#set :application, "myapp-beta"
set :user, "deploy"
set (:deploy_to) { "/home/#{user}/applications/#{application}" }
配置/部署/beta.rb
server "my.server.com", :web, :app, :db, primary: true
set :application, "myapp-beta"
set :domains, "beta.myapp.com"
set :branch, "beta"
我收到Please specify the name of your application, set :application, 'foo'
错误
也许我应该考虑部署到不同的服务器,但现在我真的很想了解为什么这不起作用。
谢谢