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