gpt4 book ai didi

puppet - 为什么我的 puppet 无法处理 bundle exec?

转载 作者:行者123 更新时间:2023-12-04 02:48:29 25 4
gpt4 key购买 nike

我的安装文件是这样的:

...
cd /home/work/package/dea_ng
...
bundle install
export PATH=$PATH:/usr/local/go/bin
bundle exec rake dir_server:install

我很确定最后一个命令可以在我的客户端机器上成功运行,但是 puppet 一直报告“返回 1 而不是 [0] 之一”错误。

所以,这是安装 list :

class dea_ng::install {
exec { "/bin/bash /home/work/install/dea_ng_install.sh":
path=>'/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin',
cwd =>'/home/work/install',
logoutput => false,
require =>Class["dea_ng::dea_ngfile"],
before => Class["dea_ng::service"],
}
}

问题也发生在我的启动命令上,它也使用 bundle exec:在 puppet 完成 dea_ng::install 并运行 dea_ng::service 之后,下面的命令不起作用,除非我在客户端机器上手动执行它。

bundle exec rake dir_server:run[config/dea.yml] &

我真的很困惑,在我的情况下,puppet 似乎无法很好地处理 bundle exec。我在这里错过了一些环境配置吗?

--debug 的输出似乎没有帮助:

Debug: Executing '/bin/bash /home/work/install/dea_ng_install.sh'
Error: /bin/bash /home/work/install/dea_ng_install.sh returned 1 instead of one of [0]
Error: /Stage[main]/Dea_ng::Install/Exec[/bin/bash /home/work/install/dea_ng_install.sh]/returns: change from notrun to 0 failed: /bin/bash /home/work/install/dea_ng_install.sh returned 1 instead of one of [0]

如果我删除 bundle exec 行,shell 将会成功。

最佳答案

真正的错误是通过添加 output => true 发现的:

couldn't find HOME environment -- expanding `~'

这是 Puppet3 中的已知问题,请参阅

https://groups.google.com/forum/#!topic/puppet-users/5sk9mJqe4Z0

所以添加HOME env解决了问题:

环境 => "HOME=/root"

关于puppet - 为什么我的 puppet 无法处理 bundle exec?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18309990/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com