【发布时间】:2016-02-18 15:20:10
【问题描述】:
作为我的 Chef 食谱中的步骤之一,我需要从 github 签出一些代码。但是每次我执行 chef-client 时,它都会失败并显示以下输出:
Mixlib::ShellOut::ShellCommandFailed: Expected process to exit with [0], but received '128'
---- Begin output of git branch -f master 276d62661678d9249d7cafbc7dbbc50a94d212bc ----
STDOUT:
STDERR: fatal: Cannot force update the current branch.
---- End output of git branch -f master 276d62661678d9249d7cafbc7dbbc50a94d212bc ----
Ran git branch -f master 276d62661678d9249d7cafbc7dbbc50a94d212bc returned 128
[2016-02-18T00:46:11+00:00] FATAL: Chef::Exceptions::ChildConvergeError: Chef run process exited unsuccessfully (exit code 1)
我尝试将资源操作从 :sync 更改为 :checkout 我还尝试在运行配方之前删除源文件夹。
配方代码:
git "/tmp/node_exporter" do
repository 'https://github.com/prometheus/node_exporter.git'
checkout_branch 'master'
action :sync
end
repo 似乎已被下载,所以有什么问题?为什么会出现此错误?
【问题讨论】:
-
请附上您的食谱代码。我猜您已将 checkout_branch 设置为 master?
-
添加了代码。是的,checkout_branch 设置为 master。
标签: git chef-infra