TeamCity First Green Build 是一个面向 TeamCity CI 的技能,目标是为代码仓库搭建 CI 并完成首次成功构建。
用途 该技能用于创建、验证或更新仓库的 TeamCity CI 配置,并推动其通过首次绿色验证构建。它区分两类请求:仅配置或不构建的请求,以及其他需要实际构建的请求。
主要能力
- 对于仅配置或不构建的请求:创建或更新流水线;校验并回读已保存的配置;查询一次代理清单与作业兼容性,然后停止。若必需的查询不可用或被拒绝,则视为阻塞。
- 对于其他请求:持续执行直到验证构建变绿或证明存在外部阻塞。在排队前检查构建的副作用;当可能或不确定涉及部署、发布、迁移、清理、外部变更或重大成本时,请求批准。
- 解析目标:在任何 TeamCity 查询或写入之前,从用户请求和指定的目标父项目解析服务器。父项目不能是 _Root。若提供了非 _Root 父项目则使用;若未提供,则在 _Root 下创建唯一的 <repository>-CI 子项目并使用其返回的 ID。创建失败报告为阻塞。不得从先前任务、环境变量、命令历史、工具配置或仓库文件中获取服务器。
- 按需读取共享指南:shared/project-inspection.md(本地仓库检查)、shared/build-step-selection.md(构建步骤、JVM 验证、输出与状态消息)、shared/jdk-selection.md(作业需要特定 JDK 时的代理选择与运行时验证)、shared/kmp-mobile.md(Kotlin Multiplatform、Android、Compose 或 iOS)、shared/token-safety.md(凭据)、shared/vcs-connections-and-auth.md(VCS 连接、认证与根)、shared/build-diagnostics.md(失败、停滞或排队的验证构建)。
- 优先诊断已有运行:当请求指出失败的构建,或构建已排队 60–120 秒时,在重试、更改配置或再次观察状态之前,先读取 shared/build-diagnostics.md。请求中报告的持续时间计入该阈值,不要重启观察窗口。
使用方式 先读取工作流路由,由其选择任务所需的指南。然后解析目标服务器与父项目。根据请求类型决定停止条件。报告时仅陈述已核实事实,包括:TeamCity 服务器与父项目 ID;仓库 URL 与项目根;TeamCity 对象与操作;服务器确认的原生 Pipeline URL(若可用,CLI 的 teamcity pipeline view <pipeline-id> --web 可打开页面,仅使用其观察到的地址;将 /buildConfiguration/... URL 标注为构建配置链接;若无原生 URL,报告 Pipeline ID,不要从未经验证的数值 ID 构造 /pipeline/... URL);配置格式与校验结果;验证构建 ID 与最终状态;首次绿色构建 ID(若观察到);每项手动前置条件的负责人、范围、操作、已知值、证明与恢复信号。
适用场景 适用于需要为仓库建立或更新 TeamCity CI 并完成首次成功构建的场景,包括仅配置不构建的请求,以及需要实际验证构建的请求。也适用于诊断失败、停滞或排队的验证构建。
限制 父项目不能是 _Root;服务器不得从先前任务、环境变量、命令历史、工具配置或仓库文件中获取。仅配置请求在完成指定检查后停止。涉及部署、发布、迁移、清理、外部变更或重大成本时需请求批准。报告只能包含已核实事实,不得构造未经验证的 URL。