0

我正在使用 Chef 启动由 GIT 存储库控制的新环境。在我的食谱中,我有一些代码,例如:

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

当存储库有内容时,这很有效,但是当它为空时 - 我得到一个厨师异常:

Chef::Exceptions::UnresolvableGitReference:无法解析存储库中“master”的 SHA 引用

我知道我可以将某种文件提交到 repo 以避免这个麻烦,但是这个解决方案有它自己的复杂性。当出现这样的异常时,任何人都可以帮助使此代码“静默失败”吗?本质上,如果 git clone 不起作用,对我的应用程序来说没什么大不了的。

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

4

1 回答 1

4

设置ignore_failure true。这是所有资源的共同属性

git "#{current_release}/#{repo[:path]}" do
    repository repo[:repository]
    revision repo[:branch]
    action :sync
    ignore_failure true
end
于 2013-10-22T19:45:24.500 回答