2010-10-24 85 views
0

ruby​​在我的開發機器上:ruby 1.8.7(2010-01-10 patchlevel 249)[i486-linux] capistrano在我的開發機器上:Capistrano v2 .5.5 OS的開發機器上:Ubuntu的10.04桌面版無法使用capistrano - 提示輸入密碼我不確定

服務器是Ubuntu的服務器上運行的服務器上的64位10.04 紅寶石亞馬遜網絡服務實例:紅寶石1.8.7(2010-01-10 PATCHLEVEL 249)[x86_64- linux下] Capistrano的V2.5.5

deploy.rb:http://gist.github.com/643504

我想要做的事情: 我希望能夠在我的服務器中的/ var/www的2個不同文件夾上進行部署。 1個文件夾用於example.com 1個文件夾用於example.biz

.biz正在升級,.com正在生產。

我也將有2個不同的數據庫。 1 for stage 1 for production

我想用capistrano在我的生產文件夾和臨時文件夾上部署代碼。

用於部署暫存文件夾,我希望能夠 1)在服務器上爲暫存文件夾只做一個git拉。 2)運行一個bash腳本來恢復登臺數據庫。腳本被寫入並放置在暫存文件夾中。

爲生產文件夾,我只想能夠在生產文件夾的服務器上做一個git拉。

IMMEDIATE問題: 1)現在,當我測試我的代碼時,我無法在服務器上爲暫存文件夾執行git pull操作。

我在我的devt機器上運行了這個命令。

帽分期部署

我得到提示輸入密碼我不知道的。的我所看到的 http://picasaweb.google.com/kimcity/Screenshots#5531588545516293762

截圖請幫

我已經試過這capistrano password prompt

和我做了我的〜/ .ssh VI配置

插入繼以下文本

Host production 
    Hostname example.com 
    User username_of_server 
    ForwardAgent yes 

Host staging 
    Hostname example.biz 
    User username_of_server 
    ForwardAgent yes 

Host * 
    ForwardAgent no 

仍然不適合我。

潛在問題: 1)如果我在我的deploy.rb中犯了任何錯誤,可能會導致其他問題進一步向我想實現的方向發展,請讓我知道。

回答

0

假設安裝不是問題等,

假設你想有以下設置,

,並要做到這樣:

運行「帽生產部署「從你的筆記本電腦,並讓你的服務器git從公共存儲庫,如github.com或projectlocker.com拉最新的代碼

關鍵是你需要創建一個用戶在您的服務器上用於部署的帳戶。

讓我們稱這個用戶帳戶'部署'沒有引號。

1)確保'deploy'具有筆記本電腦的公鑰。 (假設你已經創建了一個密鑰對你的筆記本電腦)

您的筆記本電腦的公鑰是文本的長序列,應在/home/deploy/.ssh/authorized_keys

創建的文件夾或文件如果不存在。

2)檢查您是否可以使用筆記本電腦上的deploy @ server ssh進入服務器。如果這樣做,這意味着你已經做了1)正確。

3)在您的服務器機器上生成'deploy'密鑰對。

4)轉到github.com或projectlocker並將密鑰對的公鑰放在3)在網站上。

5)去服務器上的工作文件夾。如果您在該文件夾中沒有.git,請執行git init。運行git pull [email protected]:abc.git或任何你的git repo網址。 6)如果您成功地從github或projectlocker的公共回購中獲取最新的代碼,則步驟3和步驟4已正確完成。

7)現在請確保您在您的deploy.rb

# set server user account responsible 
set :user, "deploy" 

# Deploy via a remote repository cache. In git's case, it 
# does a "git fetch" on the remote cache before moving it into place 
# can change this to :copy but apparently :remote_cache is faster 
set :deploy_via, :remote_cache 

8)運行下面的「帽生產部署:設置」,因爲你要部署的第一次。

9)隨後運行「cap production deploy」。

相關問題