2013-10-02 88 views
1

所以我已經用Capistrano進行了一段時間的部署。一切都很好。最近我遇到了一些問題。使用capistrano進行部署失敗 - 致命:HTTP請求失敗。請求github,當設置爲bitbucket時

該過程很簡單。我有一個bitbucket帳戶。我會推到那裏,然後上限將採取遠程回購,然後推送到遠程服務器。在這樣做時,在使用cap deploy時,會提示兩次輸入密碼;實際上,我甚至不知道它爲什麼要求我兩次輸入密碼(,所以也許這樣可能會有一些光照在它上面)。儘管如此,它工作了很長時間,然後它隨機停止工作。第二次請求密碼時,它現在說fatal: HTTP request failed

爲了使事情更混亂,我看了看過程,這是第二次提示輸入密碼後,要求從github上回購...而不是到位桶。有一段時間我使用github,但那已經是過去了。所以,我在我的Capfile和我的deploy.rb中查找了github repo的引用,但沒有找到任何對它的引用。

這是哪裏,它爲什麼要求它? 我該如何解決這個問題?

供參考,這是我的deploy.rb(與取出當然敏感信息):

set :application, "Application" 
set :deploy_to, "/home/user/apps/app" 
set :password, "webhostpassword" 
set :user, "webhostuser" 
set :domain, "webhostip" 
set :deploy_via, :remote_cache 
set :use_sudo, false 
set :scm, :git 
set :repository, "https://[email protected]/account/app.git" 
set :scm_username, "repousername" 
set :scm_passphrase, "repopassword" 

ssh_options[:forward_agent] = true 

role :web, domain       # Your HTTP server, Apache/etc 
role :app, domain       # This may be the same as your 'Web' server 
role :db, domain, :primary => true 

default_run_options[:pty] = true 

namespace :deploy do 
task :start do ; end 
task :stop do ; end 
task :restart, :roles => :app, :except => { :no_release => true } do 
    run "#{try_sudo} touch #{File.join(current_path,'tmp','restart.txt')}" 
end 
end 

,在這裏它失敗的輸出:

servers: ["webhostip"] 
[webhostip] executing command 
** [webhostip :: out] Password: 
Password: 
** [webhostip :: out] 
** [webhostip :: out] error: The requested URL returned error: 403 Forbidden 
while accessing https://[email protected]/repo/app.git/info/refs 
** 
** fatal: HTTP request failed 
←[2;37mcommand finished in 18881ms←[0m 

通知6號線和7它要求密碼後訪問github(這是第二次使用密碼提示時出現cap deploy

回答

1

在我的gues如果回購已經存在於遠程服務器上,capistrano將執行git pull origin <branch>而不是git clone <repo url>。因此,它仍然試圖擊中github網址。

您可以通過檢查遠程服務器上的.git/config文件來進行驗證。或通過運行git remote -v命令。如果origin指向github,請將其更改爲bitbucket。然後手動運行一個git pull origin master命令以確保它正在工作

+0

做了'git remote -v'。它用這個'$ git remote -v 原點https://[email protected]/2gen/ecosynthetix.git(取) ' – zillaofthegods

+0

您可能還想檢查一下您是否在本地的'.git/config'中有github引用,因爲capistrano運行本地git命令(通過一個解決方案,但值得檢查)。 –

+0

在我的遠程(虛擬主機)和本地服務器上,起源是相同的(bitbucket)。 – zillaofthegods