capistrano deploy_via:使用git标签复制?

时间:2014-09-28 15:44:55

标签: ruby git capistrano

我是capistrano的新手,我试图通过使用带有git标签的push方法作为参考,来判断是否可以部署到多个服务器。它有点复杂,因为这些是安装了FreeSSH的Windows服务器。到目前为止我有这个:

deploy.rb:

set :application, "iis_app"
set :repo_url, "iis_repo"
set :deploy_via, :copy
set :copy_cache, true

服务器定义:

role :push_servers, %w{"srv1" "srv2" "srv3" "srv4"} 

ssh_options: {
  user: "windows_user",
  forward_agent: true,
  auth_methods: %w(password),
  password: ENV["WINDOWS_PW"]
}

否则我有点迷失。如果有人能指出我正确的方向,那就太好了。

1 个答案:

答案 0 :(得分:0)

您的配置看起来很好。唯一的问题是你的:repo_url应该是这样的:

git@github.com:mycompany/myrepo.git

git标签实质上是转换为修订版(SHA1哈希),因此您可以执行以下操作:

对于Capistrano 2.9及以上版本:

cap -S revision=<the sha1 of your tag> deploy

对于旧版本的Capistrano ,您可以这样做:

cap -s branch=<the sha1 of your tag> deploy

希望它有所帮助。