我是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"]
}
否则我有点迷失。如果有人能指出我正确的方向,那就太好了。
答案 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
希望它有所帮助。