通过capistrano将特定的git分支部署到登台服务器

Ana*_*and 5 git capistrano ruby-on-rails

我的master分支用于部署到登台服务器.我的stable分支用于部署到生产服务器.我使用的capistrano脚本是这样设置的.

当前的工作流程:每当生产出现问题时,我都会从stable分支机构扩展,修复,提交,合并stable,然后部署到生产环境.

这使我无法在我的临时服务器中测试该错误修复(发生在该修复程序分支中).理想情况下我想要的是:

诚征工作流程:只要存在生产问题,我从分支出来stable的分支,解决的事情了,提交它,与它合并master,部署和测试,在测试服务器修复,验证它是否正常工作,然后合并是烫分支stable和部署它的生产.

如何使用Capistrano实现这一目标?请帮忙.

Dav*_*low 7

免责声明:如果我误解了你的问题,请原谅我,但我认为你已经回答了自己的问题.

你的Git工作流就是你的'git工作流'.与卡皮斯特拉诺没有任何关系.Capistrano将获取您想要的任何内容,这取决于您希望如何合并和分支您的repo以使其达到部署点.

从你所说的我假设你已经设置了你的cap阶段来部署正确的分支,但如果你没有,那么下面有一个例子.这将为每种类型的部署获取不同的分支.

deploy.rb

  set :stages, %w(staging production)
  set :default_stage, "staging"
Run Code Online (Sandbox Code Playgroud)

deploy/staging.rb #cap deploy

  set :branch, 'master'
Run Code Online (Sandbox Code Playgroud)

deploy/production.rb #cap生产部署

  set :branch, 'stable'
Run Code Online (Sandbox Code Playgroud)