使用 Puppet 自动更新作曲家



我在全球范围内安装了PHP的作曲家,我正在尝试让Puppet自动运行作曲家自我更新命令。

这是我的清单:

exec { "composer self-update":
  path    => '/usr/local/bin/'
}

以 root 身份运行"/usr/local/bin/composer self-update"手动工作,但是当 puppet 运行时它会生成此错误:

从 notrun 更改为 0 失败:/usr/bin/env: php: 没有这样的文件或目录

我不知道为什么手动行为与木偶行为不同。

另外,我有木偶作为根运行。

按照你编写的方式运行应该有效。不过,您可以使用 command 参数:

exec { "do_some_update" :
   command => "composer self-update",
   path => "/usr/local/bin",
}

这样,如果需要,您可以在以后引用exec

 file { "configuration" :
   require => Exec["do_some_update"]       
 }

而不是打字Exec["/usr/local/bin/composer self-update"]

我能够通过更改可执行文件自己解决它。我不确定为什么会有区别,但这有效:

exec { "/usr/local/bin/composer self-update":}

请注意,不同之处在于路径包含在可执行文件名称中,而不是路径参数中。如果有人知道为什么它没有以另一种方式工作,那可能会有所帮助。

相关内容

  • 没有找到相关文章

最新更新