1.4. 构建控制器
构建控制器监控 Build
资源中的任何更新,并执行以下任务:
-
验证
Build
资源中是否存在引用的Strategy
对象。 -
验证
Build
CR 中的指定参数是否存在于引用的构建策略中。它还会验证参数名称是否与任何保留名称冲突。 -
验证
Build
资源中是否存在容器 registry 输出 secret。 -
验证
Build
资源中是否存在引用的spec.source.git.url
端点 URL。
构建运行控制器监控 Build
或 TaskRun
资源中的任何更新,并执行以下任务:
-
搜索任何现有
TaskRun
资源并更新其父BuildRun
资源状态。 -
检索指定的服务帐户,并将它与
Build
资源中的输出机密一起设置。 -
如果
TaskRun
资源不存在,控制器会生成新的 TektonTaskRun
资源,并设置对TaskRun
资源的引用。 -
对于
TaskRun
资源中的任何后续更新,控制器会更新父BuildRun
资源。
1.4.1. 构建验证
为了避免因为错误或缺少依赖项或配置设置而触发 BuildRun
资源,构建控制器会提前验证它们。如果所有验证都成功,您会看到一个名为 Succeeded
的 status.reason
字段。但是,如果任何验证失败,您必须检查 status.reason
和 status.message
字段以了解根本原因。
status.reason field | 描述 |
---|---|
| 命名空间级别的引用策略不存在。 |
| 在集群级别上引用的策略不存在。 |
|
在 BuildRun 资源和 |
| 用于向 Git 进行身份验证的机密不存在。 |
| 用于向容器注册表进行身份验证的 secret 不存在。 |
| 用于向容器注册表进行身份验证的 secret 不存在。 |
| 缺少多个用于身份验证的 secret。 |
|
一个或多个 |
|
这些参数不在引用的策略中定义。您必须在策略的 |
|
未找到定义的 |
|
|
| 表示用户提供的环境变量的名称为空。 |
| 表示用户提供的环境变量的值为空。 |