我正在使用 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