适用于Linux的可重复的自定义分发构建系统

前端之家收集整理的这篇文章主要介绍了适用于Linux的可重复的自定义分发构建系统前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

问题

我有一个庞大的基础设施,包括几种运行Linux的服务器.例如,数据库服务器,负载平衡器,特定于应用程序的服务器.每种服务器都有许多实例,所有这些实例都需要可重现.

每种服务器基本上都是自定义分发.自定义包括对上游软件包的更改(其他上游版本,构建选项,修补程序,等等),还可能包括一些额外的自定义软件包.

例如,我需要一台运行最新OpenLDAP slapd的服务器,该服务器使用特定选项和一些补丁进行编译.这就是事情变得复杂的地方.

更新到最新的slapd还需要更新它所依赖的库,这意味着重建依赖于这些库的所有包.那是我基本上需要重建分发的重要部分.我正在寻找一种有助于自动化这一过程的解决方案.

解决方案要求

有点模糊.我想准备构建我的自定义发行版所需的一切,给它一个名字(例如ldap-server),并在我需要重现构建时将该名称赋予自动构建系统.

我认为这是Gengoo或LFS社区应该拥有的.我也见过像ALT Linux Hasher,Fedora Mock,Debian pbuilder / sbuild等项目,但从未使用过任何项目.

有任何想法吗?

提前致谢!

最佳答案
我不会问为什么你选择为你的生产服务器维护一个自定义发行版……但是……我已经有过这种黑客马拉松的一些经验……以及随之而来的巨大麻烦.

>为了自动构建发行版,我使用了构建顺序和依赖项的XML定义,并使用脚本化GNU Make构建并行独立分支并构建二进制包.来自python Make / Autotools的XML shell脚本位的结果输出完全构建了一组特殊的“核心”工具,然后是附加工具.
>第二步是将这些二进制文件/原始构建目录安装到系统中.我使用installwatch(我认为)使用inotify来关注事物的安装位置.然后我输出这个的XML以及任何二进制文件的依赖项.
>在此之后,我有一个构建清单(XML),每个包都有一个XML文件,其中包含已安装软件包的详细信息.然后,我创建了一个工具,将XML和就地二进制文件转换为各种格式(RPM等)
>现在(使用你的想象力)我有一个安装脚本来自动构建,构建包及其依赖项上的大量元数据,以及将元数据转换为可部署包的方法
>接下来,我为各种服务器制作了构建脚本,从glib up 原文链接:https://www.f2er.com/linux/440223.html

猜你在找的Linux相关文章