【问题标题】:Team City - Get Revision Number of Last Successful BuildTeam City - 获取上次成功构建的修订号
【发布时间】:2015-08-08 09:06:50
【问题描述】:

这是我想要完成的。

当 Team City 构建运行时,我想调用我的 exe 并提供当前的 Svn 修订号,如果有的话,还提供上一次成功构建的修订号

我已经编写了一个可执行文件,它可以接受这些参数,然后从 svn 获取这两个修订号之间的提交,以便构建一个基本的“更改日志”。然后,exe 写入标准输出,以便使用更改日志设置 Team City 构建参数 - 该参数稍后在构建中使用。

我已经确定当前版本号的团队城市参数是: build.vcs.number

我怎样才能获得上次成功构建的等价物?

我愿意让我的 exe 回调到 Team City API 以获取最后成功的构建详细信息。如果这样的事情是可能的,请有人提供详细信息,即所需的 API 调用等?

【问题讨论】:

    标签: svn teamcity


    【解决方案1】:

    我之前通过获取两个修订版之间的提交 cmets 来自动化 TFS 的发行说明。

    有两种方法可以实现这一点,具体取决于您是否使用 build.vcs.number 作为您的版本号的一部分 - 如果您这样做了,那么您将能够获得前一个版本号通过查询 API 构建。您可以在常规浏览器中浏览 API,只需将 buildTypeId 替换为 URL 即可查看结果。

    http://tcserver/httpAuth/api/buildTypes/id:YOUR_ID_HERE/builds?count=1

    您可以查询此数据集并提取属性值并将其分解,具体取决于您可能使用它的方式。

    因此,在这种情况下,您的构建配置的一般构成是

    步骤 1. 调用 API 并从 xml 属性解析先前的变更集编号

    步骤 2. 使用 build.vcs.number%PARSED_PARAMETER% 调用 exe

    第 3 步。进行构建

    如果您不使用它来构成版本号的一部分,那么您需要一个步骤来将此值保存到变量中,该变量应在构建结束时执行。我发现这必须通过将值发布到 API 来完成,以便它在 TeamCity 中持续存在,否则这将变得非常短暂。

    对参数的url执行HTTP PUT操作,可以更新值。你参数的 url 看起来像这样

    http://tcserver/httpAuth/app/rest/buildTypes/id:YOUR_ID_HERE/parameters/PARAMATER_NAME

    更多细节可以在这里找到 - TeamCity Documentation

    因此,在这种情况下,您的构建配置的一般构成是

    步骤 1. 使用 build.vcs.number%YOUR_PARAMETER% 调用 exe

    第 2 步。进行构建

    第 3 步。通过 API 调用更新 YOUR_PARAMETER

    如果有帮助,我有代码可以使用 PowerShell 通过 API 更新参数,但不能假设您正在安装 Windows。让我知道它是否有用。

    希望这会有所帮助。

    【讨论】:

    • 如果这对其他人有帮助,根据@DevOps 的回答,我正在使用tcserver/httpAuth/api/buildTypes/id:YOUR_ID_HERE/builds?count=1 来获取构建。由于我的构建实际上是构建链的一部分,它的 节点是空的,但它有一个 节点。我询问它以获取依赖项的构建 ID。然后我再次使用 web api 来检查构建,url 采用以下形式:tcserver/httpAuth/api/builds/id:SOME_ID_HERE 然后提供一个 节点,我检查它以获得最后的修订号!总体而言,要跳过很多圈。
    • - 哦,另外,要获得最后一次成功的构建而不是失败的构建,您需要在 URI 中包含一个额外的查询字符串参数。像这样:http://teamcityserver/httpAuth/api/buildTypes/id:GlobalConnect2Web_DeployToDev/builds?count=1&status=SUCCESS
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-28
    • 1970-01-01
    相关资源
    最近更新 更多