我如何针对特定的提交SHA与capistrano部署
我想知道如何使用Capistrano在Git中针对特定的提交SHA进行部署? 应该是这样的
cap deploy --version=<sha targeted> 经过大量的search后,似乎无法find答案。
对于Capistrano 2.9至3.0:
 cap -S revision=80655da8d80aaaf92ce5357e7828dc09adb00993 deploy 
对于老版本的Capistrano ,你可以通过这样来部署一个特定的git commit / tree / branch /标签:
 cap -s branch=80655da8d80aaaf92ce5357e7828dc09adb00993 deploy 
 在某些情况下,也可能需要指定环境作为参数。  production只是一个例子。 
 cap production -S revision=80655da8d80aaaf92ce5357e7828dc09adb00993 deploy 
molf的回答对我来说并不奏效(使用capistrano 2.11.2)。 我不得不使用“修改”而不是分支,如下所示:
 cap -S revision=80655da8d80aaaf92ce5357e7828dc09adb00993 deploy 
卡皮斯特拉诺3
 在你的deploy.rb或stage-specific文件中,比如config/deploy/production.rb 
 set :branch, ENV.fetch('REVISION', 'master') 
这允许你指向一个特定的git修订版本。 它接受一个SHA,但也可以parsing为一个真正的修订(例如git标签,注释标签或分支)。
 通过设置REVISION环境variables在命令行上使用它,例如 
 bundle exec cap production deploy REVISION=80655da8d80aaaf92ce5357e7828dc09adb00993 bundle exec cap staging deploy REVISION=my-topic-branch 
问:分支,“主”
提示input,但如果您按回车则默认为“主”。