厨师脚本 Ant:找不到命令



>我在食谱中得到了这个方法

script "bashbashed" do
  interpreter "bash"
  user "root"
  code <<-EOH
  cd /my/path
  ant clean
  ant build
  ant deploy
  EOH
end

返回

localhost STDERR: /tmp/chef-script20131004-5434-823zxp: line 1: cd: tarball: No such file or directory
localhost /tmp/chef-script20131004-5434-823zxp: line 4: ant: command not found
localhost /tmp/chef-script20131004-5434-823zxp: line 5: ant: command not found
localhost /tmp/chef-script20131004-5434-823zxp: line 6: ant: command not found

登录到来宾并执行 ant 版本。蚂蚁已安装在客户机中。我在这里还缺少什么吗?

错误消息指示 2 个问题:

  1. 路径/my/path不存在。
  2. 它不包含 $PATH 中 Java Ant 安装的路径。

更新版本:

script "bashbashed" do
  interpreter "bash"
  user "root"
  cwd "/my/path"   # make sure this path exists
  path "#{ENV['PATH']}:/opt/ant/bin"  # customize to the location of your ant command
  code <<-EOH
  ant clean build deploy
  EOH
end

您的问题是"/etc/profile.d/*"下提供的环境文件不是由 root 用户提供的,这可以解释为什么您的 bash 脚本(以 root 身份运行)在其路径中没有配置 ant。

也许一个简单的解决方案是作为普通用户帐户运行构建?

相关内容

  • 没有找到相关文章

最新更新