厨师和木偶从哪里获取内部应用程序?

厨师和木偶从哪里获取内部应用程序?

我们正在考虑用 chef 或 puppet 取代内部解决方案,以将软件部署到机器上。

在我迄今为止阅读的资料中,有一件事对我来说并不明显,特别是对于内部软件,chef 和 puppet 实际上从中获取您要求它们安装的软件。许多示例都是围绕配置文件(如示例ntp)或众所周知的第三方(如 tomcat 和 apache)进行的。

如果我们有一个内部 maven repo - 我们可以连接 puppet 和 chef 来查看它并将其用作软件源吗?

假设这是可能的,这实际上是人们通常所做的吗?或者他们是否将构建输出暂存到其他存储位置(AFS、NFS 等),以便 Puppet 实际从中获取它?

答案1

Puppet 和 Cheff 是配置管理工具。我对 cheff 的使用经验不多,所以我将重点介绍 puppet。

Puppet 可以提供文件服务(我想 cheff 也可以)。这可以用来为你的应用程序提供服务。如果你对 nginx 很熟练,没有什么可以阻止你把它放在 puppet 前面,并将必要的文件请求代理到你的 maven repo 或者只是从 nginx 提供文件。

通常,为整个 repo 提供服务并不是一个好主意,因为这会导致错误。建立一个更正式的发布流程,其中包括在某个时候将必要的工件放入 puppet 作为文件提供的区域。

创建一些简单的逻辑(例如始终安装文件 muapp-prod-latest.zip 或类似的东西。

该文件的定义可以保持静态,您可以在文件系统上管理该文件(即符号链接),或者它可能包含一个定义版本的变量,您可以控制该版本。

相关内容