如何从 puppet 运行 shell 脚本?

Ind*_*ial 8 puppet node.js

我需要安装npm哪些是由 完成的curl http://npmjs.org/install.sh | sh并且是使用的新手puppet,我对如何完成这件事感到有些困惑。

我很清楚创建一个package {}调用exec目标的条目,但是当我npm从源代码安装时,这不会削减它。

我显然不想在npm每次puppet拉动时都进行构建,所以我需要某种方式来检查它是否已安装,所以exec {}单独制作也是不够的。

我能做什么?

wom*_*ble 15

就像是

exec { "install npm":
    command => "/usr/bin/curl http://npmjs.org/install.sh | sh",
    creates => "/some/directory/somewhere"
}
Run Code Online (Sandbox Code Playgroud)

应该做的伎俩。

但是,我强烈建议不要这样做,因为它使您的安装过程依赖于许多其他正常工作的东西,并且会在您的文件系统中删除那些知道位置的未跟踪文件(甚至在我们开始讨论安全隐患之前)自动运行不受信任和无法验证的代码)。你最好为你的操作系统制作一个本地包,把它放在本地存储库中,然后使用包资源安装它。