第 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 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

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

© 2024 Red Hat, Inc.