在我们的基础架构中,我们有安装和pipe理木偶的服务器。 我们所有的软件都是从rpm安装的。 在每个服务器上是一个小脚本,如果存储库中有一些更改,则执行yum更新。
我需要实现的也是执行自动降级,因此所有服务器上安装的软件包与存储库中的最新软件包相同。 我们想这样做回滚。 所以开发人员有一些简单的(web必须)接口来移动包活动/删除包(执行回滚/降级)。
我知道debian通过优先级支持这个function(或者某些特殊的magick – 我现在还不确定,上次configuration的时候已经有一段时间了)。
是否有可能pipe理百胜执行这种方式?
这听起来像你需要一个本地存储库镜像,你可以控制版本 – 也许用不同的环境进行分期,生产等。
理想情况下,你会有一个互联网连接和内部networking连接的服务器。 它将在内部networking上运行一个networking服务器,或许在不同的环境中使用不同的path:
http://192.168.1.10/staging/repo/ http://192.168.1.10/production/repo/
…等等。 然后,您可以仔细pipe理软件包更新,并且内部networking上的所有服务器都可以简单地执行yum update以保持步骤。 通过在木偶中使用环境,你可以自动configuration每个服务器使用它,因为它只是百胜回购,并阻止他们去互联网更多的包(即使他们确实有互联网连接)。
这会工作吗?
就像你使用木偶和yum一样,你可能会考虑将软件包放在特定的发行版本中,以满足降级的情况,一种方法是从代表configuration的节点创build一个软件包列表,并比较列表对回购中的包装。 或者使用forgebase模块https://forge.puppetlabs.com/ryanuber/packagelist 。 如果你不需要工头/ katello,如上面所build议的那样,我build议你看看mrepo,reposync和最好的纸浆