2013-10-22 145 views
0

我正在使用廚師推出由GIT存儲庫控制的新環境。在我的食譜,我有一些這樣的代碼:使用廚師克隆空git回購

begin 
    git "#{current_release}/#{repo[:path]}" do 
     repository repo[:repository] 
     revision repo[:branch] 
     action :sync 
    end 
rescue nil 
end 

這種運作良好,當資源庫有內容,但是當它是空的 - 我得到一個廚師例外:

廚師::例外:: UnresolvableGitReference:無法解析存儲庫中'master'的SHA引用

據我所知,我可以將某種文件提交到回購站以避免這種麻煩,但此解決方案有其自身的複雜性。任何人都可以幫助使這個代碼「默默失敗」,當有這樣的例外嗎?從本質上講,如果git克隆不起作用,對我的應用程序來說沒什麼大不了的。

任何提示,非常感謝!在AWS上使用Chef 11 OpsWorks

回答

4

設置ignore_failure true。這是所有資源的common attribute

git "#{current_release}/#{repo[:path]}" do 
    repository repo[:repository] 
    revision repo[:branch] 
    action :sync 
    ignore_failure true 
end 
+0

工作完美!非常感謝你 – sudoyum