2013-07-05 123 views
2

我想運行一個廚師食譜,將在Ubuntu客戶端上安裝SVN,然後簽出一個SVN Subversion存儲庫到客戶端機器。以下是代碼:廚師食譜做一個SVN簽出

#Installing svn 
package "subversion" do 
action :install 
end 

#Checkout SVN repo 
bash "Checking out Antitheft Repository" do 
cwd "#{Chef::Config[:file_cache_path]}" 
code <<-EOH 
svn co --username 'userxxx' --password 'passxxx' 'http://example.com/svn/trunk/yyy' 
EOH 
end 

命令

svn co --username 'userxxx' --password 'passxxx' 'http://example.com/svn/trunk/yyy' 

工作得很好,當在客戶端上的終端上運行,但是當通過配方執行相同的命令被顯示沒有錯誤,也不是結帳完成。

這裏有什麼問題?

+0

您可以設置日誌級別調試(通過client.rb文件),並粘貼在控制檯輸出? –

+0

我對廚師很新,你能告訴我這個文件在哪裏。作爲「locate client.rb」列出它的多個實例 –

+1

它應該在/ etc/chef/ –

回答

2

只需使用內置scm資源:

package "subversion" 

subversion "Antitheft" do 
    repository "http://example.com/svn/trunk/yyy" 
    destination "#{Chef::Config[:file_cache_path]}/antitheft" 
    svn_username "userxxx" 
    svn_password "passxxx" 
end 
+0

你可以通過使用加密的數據bad來保存subversion證書來進一步改進。 –

+1

甚至更​​好:chef-vault(https://github.com/Nordstrom/chef-vault) – StephenKing

+0

如果它在本地文件中,該怎麼辦? – pitchblack408