这是我想要完成的。
当 Team City 构建运行时,我想调用我的 exe 并提供当前的 Svn 修订号,以及最后一次成功构建的修订号(如果有的话)
我已经编写了一个可以接受这些参数的 exe,然后从这两个修订号之间的 svn 获取提交,以便构建一个基本的“更改日志”。然后 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
and调用 exe%PARSED_PARAMETER%
步骤 3. 进行构建
如果您不使用它来构成版本号的一部分,那么您需要一个步骤来将该值保存到变量中,该步骤应该在构建结束时执行。我发现这必须通过将值发布到 API 来完成,以便它保留在 TeamCity 中,否则这将变得非常短暂。
HTTP PUT
对参数的 url执行操作,即可更新该值。你的参数的 url 看起来像这样
http://tcserver/httpAuth/app/rest/buildTypes/id:YOUR_ID_HERE/parameters/PARAMATER_NAME
更多详细信息可在此处找到 - TeamCity 文档
因此,在这种情况下,构建配置的一般构成是
步骤 1. 使用build.vcs.number
and调用 exe%YOUR_PARAMETER%
步骤 2. 进行构建
步骤3.YOUR_PARAMETER
通过API调用更新
如果有帮助的话,我有使用 PowerShell 通过 API 更新参数的代码,但不能假设您安装的是 Windows。让我知道它是否有任何用处。
希望这可以帮助。
归档时间: |
|
查看次数: |
3192 次 |
最近记录: |