第 31 章 配置全局构建默认值和覆盖


31.1. 概述

开发人员可以在其项目内的特定构建配置中定义设置,例如 为 Git 克隆配置代理。除了要求开发人员定义每个构建配置中的某些设置外,管理员可以使用准入插件来配置全局构建默认值,并覆盖在任何构建中自动使用这些设置。

这些插件中的设置仅在构建过程中使用,但不在构建配置或构建本身中设置。通过插件配置设置后,管理员可以随时更改全局配置,并且从现有构建配置或构建中重新运行的任何构建都会分配新设置。

  • 借助 BuildDefaults 准入插件,管理员可以为 Git HTTP 和 HTTPS 代理等设置设置全局默认值,以及默认的环境变量。这些默认值不会覆盖为特定构建配置的值。但是,如果构建定义中没有这些值,则它们会设置为默认值。
  • BuildOverrides 准入插件允许管理员覆盖构建中的设置,而不考虑构建中存储的值。

    插件目前支持覆盖构建策略上的 forcePull 标志,以便在构建期间从 registry 中强制刷新本地镜像。这意味着,每次构建启动时都会对镜像执行访问检查,确保用户只能使用允许拉取的镜像来构建。强制刷新为您的构建提供多租户。但是,您无法依赖构建节点上存储的镜像的本地缓存,您必须始终能够访问 registry。

    该插件也可以配置为将一组镜像标签应用到每个构建的镜像。

    有关配置 BuildOverrides 准入插件和您可以覆盖的值的详情,请参阅 手动设置全局 Build Overrides

默认节点选择器和 BuildDefaultsBuildOverrides 准入插件可以正常工作,如下所示:

  • master 配置文件的 projectConfig.defaultNodeSelector 字段中定义的默认项目节点选择器应用到在没有指定 nodeSelector 值的情况下在所有项目中创建的 pod。这些设置应用于在未设置 BuildDefaultsBuildOverrides nodeselector 的集群上使用 nodeSelector="null" 的构建。
  • 只有在构建配置中设置了 nodeSelector="null" 参数,才会应用集群范围的默认选择器 admissionConfig.pluginConfig.BuildDefaults.configuration.nodeSelector。才会在构建配置中设置 nodeSelector="null " 参数。
  • 使用默认项目或集群范围节点选择器时,默认设置会作为构建节点选择器的 AND 添加到构建节点选择器中,由 BuildDefaultsBuildOverrides 准入插件设置。这些设置表示构建将仅调度到满足 BuildOverrides 节点选择器和项目默认节点选择器的节点。

    注意

    您可以使用 RunOnceDuration 插件 来定义有关构建 pod 可运行的硬限制。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat