如何使用Capistrano 3部署特定版本的代码?

13

如何使用Capistrano 3部署特定的Git版本?

Capistrano 2.9的方法已经失效。

$cap -S revision=80655da8d80aaaf92ce5357e7828dc09adb00993 deploy
invalid option: -S
1个回答

31

在 Capistrano 3 中,该参数似乎已经消失了。 您需要设置环境变量 REVISION="revision" 并将其包含在您的 deploy.rb 文件中。

set :branch, ENV["REVISION"] || ENV["BRANCH_NAME"]

11
在多阶段环境中,您可能会将此包含在环境文件中(例如deploy/staging.rbdeploy/production.rb)。还有一个可爱的Ruby技巧是使用fetch,就像这样 set:branch,ENV.fetch('branch','master')——如果指定了分支,请使用它,否则将默认部署主分支。 - Tom Harrison
调用 BRANCH_NAME=my_branch; cap staging deploy 似乎不起作用。我哪里错了吗? - Augustin Riedinger
或者你可以这样做:ENV['REVISION'] || ENV['BRANCH'] || 'master' - valachi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接