2011-04-07 82 views
1

我想部署一个特定的修订使用Capistrano的一台服务器(我们正在尝试一种新的服务器添加到集群,当然希望它具有相同的版本作为其他部署具体的修订和分支机)。 这个问题似乎是我们正在分支上工作。 所以,如果我们这样做:从混帐与Capistrano的

cap production deploy:cold -S revision=bb88d26c4ec9e6c4fa132c63f79c8fdf8aa5aec4 

它:

* executing "git clone -q --depth 1 ssh://[email protected]/xxx/mc.git /u/apps/xxx/releases/20110407083545 && cd /u/apps/xxx/releases/20110407083545 && git checkout -q -b deploy bb88d26c4ec9e6c4fa132c63f79c8fdf8aa5aec4 && (echo bb88d26c4ec9e6c4fa132c63f79c8fdf8aa5aec4 > /u/apps/xxx/releases/20110407083545/REVISION)" 

但我们得到:

** [new.server.com :: err] fatal: reference is not a tree: bb88d26c4ec9e6c4fa132c63f79c8fdf8aa5aec4 

这似乎是忽略了deploy.rb分支设置:

set :branch, "new_ui" 

请问这个是因为多级?还是其他干扰?

+0

确定您确实已将该版本推送到您的远程存储库?应该无关,与你的分支设置,Capistrano的只使用您的分支设置来找到该分支的最新修订本地运行关闭之前。 – 2011-04-07 08:54:38

+0

检查: http://stackoverflow.com/questions/1524204/using-capistrano-to-deploy-from-different-git-branches – RAJ 2011-12-21 08:13:29

+0

入住这 http://stackoverflow.com /问题/ 1524204 /使用-Capistrano酒店部署的 - 从 - 不同-混帐分支 它可以帮助你 – RAJ 2011-12-21 08:14:35

回答

0

你通常是因为你还没有推你的回购高达远程回购得到这个错误。您只可以有一个名为new_ui一个本地分支,但你不能远程跟踪它 - 所以,当你推,分支不会反映在您的远程回购。