Capistrano 多部署阶段
Capistrano Multiple Deploy Stages
我有一个 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 但我想保持命令行干净。
在 config/deploy/*.rb
、production.rb
和 staging.rb
下创建两个文件,向 production.rb
添加 set :deploy_to, '/home/deploy/Sites/production/myname'
,向 staging.rb
添加 set :deploy_to, '/home/deploy/Sites/staging/myname'
可以为 config/deploy/*
中的特定环境定义来自 config/deploy.rb
的任何数据
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
。
我有一个 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 但我想保持命令行干净。
在 config/deploy/*.rb
、production.rb
和 staging.rb
下创建两个文件,向 production.rb
添加 set :deploy_to, '/home/deploy/Sites/production/myname'
,向 staging.rb
添加 set :deploy_to, '/home/deploy/Sites/staging/myname'
可以为 config/deploy/*
config/deploy.rb
的任何数据
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
。