我有一个Rails应用程序,我想使用Capistrano部署两个版本:production
和staging
。
在我的deploy.rb文件中,我有:
set :stages, ['staging', 'production']
那么如何在不覆盖它们的情况下使用两条路径呢?
set :deploy_to, '/home/deploy/Sites/staging/myname'
set :deploy_to, '/home/deploy/Sites/production/myname'
我见过this answer,但我想保持命令行清洁。
答案 0 :(得分:2)
在config/deploy/*.rb
,production.rb
和staging.rb
下创建两个文件,production.rb
添加set :deploy_to, '/home/deploy/Sites/production/myname'
,staging.rb
添加{{1 }}
答案 1 :(得分:0)
可以为config/deploy.rb
中的特定环境定义来自config/deploy/*
的任何数据
config/deploy/production.rb
set :stage, :production
set :rails_env, :production
set :branch, "master"
config/deploy/staging.rb
set :stage, :staging
set :rails_env, :staging
set :branch, "staging"
这对我来说适用于来自不同分支的两个环境。
希望您也明确定义:deploy_to
和server url
。