我想知道如何使用Capistrano在Git中部署特定的提交SHA?它应该是类似的东西我如何针对特定的提交SHA与capistrano部署
cap deploy --version=<sha targeted>
似乎无法找到大量的搜索后,这个答案。
我想知道如何使用Capistrano在Git中部署特定的提交SHA?它应该是类似的东西我如何针对特定的提交SHA与capistrano部署
cap deploy --version=<sha targeted>
似乎无法找到大量的搜索后,这个答案。
对于Capistrano的2.9至3.0:
cap -S revision=80655da8d80aaaf92ce5357e7828dc09adb00993 deploy
对于旧版本的Capistrano的的,您可以通过此部署特定的git的承诺/树/分支/标签:
cap -s branch=80655da8d80aaaf92ce5357e7828dc09adb00993 deploy
在某些情况下,可能还需要指定环境作为参数。 production
只是一个例子。
cap production -S revision=80655da8d80aaaf92ce5357e7828dc09adb00993 deploy
molf的回答对我无效(使用capistrano 2.11.2)。我不得不使用 “修订”,而不是分支,像这样:
cap -S revision=80655da8d80aaaf92ce5357e7828dc09adb00993 deploy
Capistrano的3
在你deploy.rb
或阶段特异性文件中像config/deploy/production.rb
set :branch, ENV.fetch('REVISION', 'master')
这可以让你指向一个特定的git修订。它接受SHA,但也可以解析为真正的修订(例如git标签,注释标签或分支)。
在命令行上通过设置REVISION
环境变量(例如,
bundle exec cap production deploy REVISION=80655da8d80aaaf92ce5357e7828dc09adb00993
bundle exec cap staging deploy REVISION=my-topic-branch
问:分支, '主人'
提示输入,但默认为 '主人',如果你按回车键。
是特定提交的SHA吗? – 2009-05-27 21:45:24
该分支将被传递给“git checkout”的git,所以一个提交ID应该像树ID,分支名称一样工作。 –
molf
2009-05-27 22:12:54
这个答案对我不起作用,请参阅@eahanson的答案下面。 – 2013-08-08 01:47:04