如何对镜像的上游存储库进行版本控制?

CHK*_*CHK 6 package-management version-control yum repository

我管理着许多跨越多种环境(开发、质量保证、登台和生产)的服务器。为了帮助管理这些,我们在本地网络服务器上为我们的应用程序(例如 app_1_el6、app_2_el7 等)提供了多个存储库。我们还镜像了几个上游存储库,这些存储库为我们的自定义 rpm 提供依赖项(例如 EL Repo [1]、EPEL [2] 等)以减少包下载时间。

目前,一个 cron 作业将我们的本地与上游存储库同步。有时,我们会引入导致问题的更新(例如,与我们的某个软件包不兼容)。这最终会导致很多痛苦,我想避免这种痛苦。

我想做的是为上游存储库的本地镜像创建某种版本控制。例如,我想确保,如果在上游存储库中引入了一个破坏我们自定义 rpm 的新包,我有办法回滚或以某种方式隔离该包。解决这个问题的最佳方法是什么?

[1] http://elrepo.org/tiki/tiki-index.php

[2] https://fedoraproject.org/wiki/EPEL

fue*_*ero 4

Michael Hampton 引用了一个名为 Katello 和Spacewalk的答案,Satellite是 RedHat 为实现这一目标而提供的产品。

\n

Katello之于 Satellite 就像 Fedora 之于 RedHat (根据this

\n

生命周期环境内容视图正是您在 Katello 中寻找的:

\n
\n

推广内容视图

\n

最初,内容视图作为版本 1 发布到库。如果其他环境中的内容主机想要使用此内容视图,则需要将内容视图的版本提升到这些环境。\n例如,给定内容视图\xe2\x80\x9c新内容视图\xe2\x80\x9d,其版本1已提升到开发环境。Dev 中附加到内容视图的任何内容主机都将保留为版本 1,直到版本 2 发布并提升到开发环境。

\n
\n

内容视图示例http://www.katello.org/docs/2.3/user_guide/content_views/promote_content_view2.png

\n

内容视图促进进展 http://www.katello.org/docs/2.3/user_guide/content_views/promote_content_view3.png

\n