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

11

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

我在文档中找不到任何关于这一点的信息,但是它似乎应该是可能的。(搜索"execute builds from another build in teamcity" 给出了很多关于构建依赖性的文档,但并非我所寻找的)

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


2
你可以添加一个命令行步骤来触发构建。这可能会指引你朝着正确的方向前进:https://confluence.jetbrains.com/display/TCD9/Accessing+Server+by+HTTP - Shakespeare
2
是的。 我将发布到REST API,然后您可以触发构建。 文档中有一个curl示例,但是如果有帮助的话,我也有一些PowerShell示例。 https://confluence.jetbrains.com/display/TCD9/REST+API#RESTAPI-TriggeringaBuild - Matt
2个回答

6
我通过调用TeamCity REST API来实现此操作:
  1. 在您的构建末尾添加一个新步骤,使用命令行运行器。

  2. 执行curl命令:

    curl -X POST -H "Authorization: Bearer %TeamCityToken%"
    --header "Content-Type:application/xml"
    -d"

    <buildType id="远程部署"/>
    <property name="tag" value="%NewVersion%"/>
    "
    http://teamcity.example.com/app/rest/buildQueue

您需要更改以下内容:

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

将“Remote Deploy”构建类型ID更改为您的构建类型ID。

将属性更改为您需要的内容。

当然,还有TeamCity的URL。


5

不完全是这样。然而,在TeamCity中,您可以通过添加快照依赖项来创建构建链(构建调用其他相关构建)。

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


我希望他能够到达他的笔记本电脑。 - Konorlevich

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接