2013-10-22 118 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