TeamCity 是不是支持执行其他 TeamCity 构建的构建步骤?

Posted

技术标签:

【中文标题】TeamCity 是不是支持执行其他 TeamCity 构建的构建步骤?【英文标题】:Does TeamCity support build steps that execute other TeamCity builds?TeamCity 是否支持执行其他 TeamCity 构建的构建步骤? 【发布时间】:2016-05-24 14:07:37 【问题描述】:

使用 TeamCity,我在一个项目中设置了多个构建。大多数时候,我想将每个构建作为独立运行。但是,有时我想使用相同的参数集执行多个构建。这些构建都使用相同的模板,因此理论上它们的所有参数都可以由单个构建提供。

我在文档中找不到任何说明这是可能的内容,但似乎应该如此。 (搜索“从 teamcity 中的另一个构建执行构建”为我提供了大量关于构建依赖项的文档,但不是我正在寻找的)

我知道我可以手动将所有构建排队,但这需要每次都重新输入相同的参数。

TeamCity 是否支持执行其他 TeamCity 构建的构建步骤?如果支持,如何?

【问题讨论】:

您可以添加一个命令行步骤来潜在地触发构建。这可能会为您指明正确的方向:confluence.jetbrains.com/display/TCD9/Accessing+Server+by+HTTP 是的。我会发布到 REST API,您可以触发构建。该文档有一个 curl 示例,但如果有帮助,我有一些 PowerShell。 confluence.jetbrains.com/display/TCD9/… 【参考方案1】:

不完全是。但是,在 TeamCity 中,您可以通过添加快照依赖项来拥有构建链(构建调用其他依赖构建)。

如果您在另一个构建配置上添加快照依赖项,那么您可以访问其所有定义的参数,甚至是源代码和人工制品。

【讨论】:

我希望他能拿到他的笔记本电脑【参考方案2】:

我通过调用 TeamCity REST API 来实现这一点:

    使用命令行运行器在构建结束时添加一个新步骤

    卷曲

    curl -X POST -H "授权:Bearer %TeamCityToken%" --header "Content-Type:application/xml" -d" " http://teamcity.example.com/app/rest/buildQueue

你需要改变:

TeamCityToken 到您的访问令牌,请参阅此页面创建一个:https://www.jetbrains.com/help/teamcity/rest/teamcity-rest-api-documentation.html#REST+Authentication

构建类型 ID“远程部署”到您的构建类型 ID。

你需要的任何属性。

当然还有teamcity url。

【讨论】:

以上是关于TeamCity 是不是支持执行其他 TeamCity 构建的构建步骤?的主要内容,如果未能解决你的问题,请参考以下文章

如何让 Teamcity Artifactory 插件在 Gradle 中调用 bootJar 而不是 Jar?

如何基于k8s快速搭建TeamCity(YAML分享)

TeamCity 控制台代理

TeamCity - SVN 和标签:如何正确执行?

TeamCity 代理错误“未能对代理执行结帐”

当构建固定在 Teamcity 中时是不是可以运行脚本