繁体   English   中英

使用人偶从源代码构建

[英]Using puppet to build from source

如何在不使用多个Exec命令的情况下使用puppet从源代码进行构建? 我在锻造上有可用的模块吗?

可以使用Puppet从源代码构建应用程序而无需使用exec,可能使用自定义的书面类型和提供程序。 否则,是的,它就得在几个不同的EXEC资源, onlyifcreates等语句来阻止他们运行的每个代理运行时间。

Puppet的配置管理模型被称为所需状态模型:您定义系统的最终状态,然后让系统运行。 这就是为什么在Puppet中通常避免执行程序的原因:它们不符合所需的状态模型。 它还使您可以进行诸如更新应用程序之类的操作,或处理诸如创建所需文件的编译部分失败之类的未知信息。

我认为, 我完全不建议使用配置管理从源代码构建应用程序 这样做有一些固有的问题(这不仅是针对Puppet的,而且是大多数配置管理语言的):

  • 运行速度较慢,因为运行编译的时间可能会更长,并且检测到编译完成通常是比较棘手的任务
  • 半完成状态或失败的问题:如果编译中途中断,则更难检测和解决
  • 使编译成为幂等:您必须将命令包装在检测安装是否已经完成的逻辑中。 但是,这很困难,因为即使在编译失败时也会检测到标志文件或特定的二进制文件
  • 升级或更改:没有简单的方法来升级或更改应用程序。 一个软件包将更容易做到这一点。

听起来,通过使用FPM之类的工具或仅使用本地软件包构建工具(例如rpmbuild ,通过打包可以更好地解决问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM