我有一组机器(Ubuntu 服务器),它们在地理上是分开的,用于开发相同的代码库。有时我需要从我的站点在机器上安装包,然后通过 ssh 连接到所有其他站点并在那里安装包。我想自动化这个,如果我在我的机器(主)上安装了一个新包,它将自动安装到其他包。这个过程不需要是即时的,它可以在一夜之间完成。
为此,我尝试将 puppet 与“包”资源一起使用,但这意味着我需要为每个新安装的包添加另一个条目。没有其他方法吗(比如检查已安装的包并在新包中插入一个新条目)?
我还查看了 puppet 的 apt 模块,但找不到与此直接相关的任何内容。
我知道没有办法做到这一点。
我可能会建议您以某种错误的态度来处理这个问题。
Puppet 背后的想法不是在单个服务器上进行大量手动工作,而是将该配置复制到其他服务器。
这个想法是,您使用 Puppet声明您希望您的服务器看起来如何,然后 Puppet 使所有服务器看起来都这样。
我建议完全停止手动安装软件包,这样可以避免。当您想要安装新软件包时,只需更新您的 Puppet 清单。
除此之外,请确保您的清单存储在 Git 等版本控制中,以便您可以跟踪所做的更改。