Team City - 获取上次成功构建的修订号
Team City - Get Revision Number of Last Successful Build
这是我想要完成的。
当 Team City 构建运行时,我想调出我的 exe 并提供当前的 Svn 修订号,以及最后一次成功构建的修订号(如果有的话)
我已经编写了一个 exe,它可以接受这些参数,然后从 svn 获取这两个修订号之间的提交,以构建一个基本的 "change log"。然后 exe 写入标准输出,以便使用更改日志设置 Team City 构建参数 - 该参数稍后在构建中使用。
我确定当前修订号的团队城市参数是:
build.vcs.number
如何获得上次成功构建的等价物?
我对让我的 exe 回调到 Team City API 以获取最后一次成功构建的详细信息的想法持开放态度。如果这样的事情是可能的,请有人提供详细信息,即需要 API 调用等吗?
我之前通过获取两次修订之间的提交评论来自动执行 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 安装。让我知道它是否有用。
希望对您有所帮助。
这是我想要完成的。
当 Team City 构建运行时,我想调出我的 exe 并提供当前的 Svn 修订号,以及最后一次成功构建的修订号(如果有的话)
我已经编写了一个 exe,它可以接受这些参数,然后从 svn 获取这两个修订号之间的提交,以构建一个基本的 "change log"。然后 exe 写入标准输出,以便使用更改日志设置 Team City 构建参数 - 该参数稍后在构建中使用。
我确定当前修订号的团队城市参数是: build.vcs.number
如何获得上次成功构建的等价物?
我对让我的 exe 回调到 Team City API 以获取最后一次成功构建的详细信息的想法持开放态度。如果这样的事情是可能的,请有人提供详细信息,即需要 API 调用等吗?
我之前通过获取两次修订之间的提交评论来自动执行 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%
第 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%
第 2 步。进行构建
第 3 步。通过 API 调用
更新YOUR_PARAMETER
如果有帮助,我有使用 PowerShell 通过 API 更新参数的代码,但不能假设您正在 windows 安装。让我知道它是否有用。
希望对您有所帮助。