在 TeamCity 10 的构建步骤中更新项目级参数
Updating project-level parameter in build step in TeamCity 10
我目前正在 TeamCity 中实施(我不知道实施这个词是否合适,但无论如何)语义版本控制。我有项目级系统参数,我在其中存储版本号部分:system.major
、system.minor
和 system.patch
。我有两个构建配置:
- 首先,我们称之为beta,使用的是major、minor,以及补丁按原样并将其构建计数器值附加到版本(即 1.0.0.X,其中 X 是 beta 的构建计数)。
- 其次,我们称其为release,使用的是major,以及minor(但不是 patch) 原样并将其构建计数器值附加为补丁号(即 1.0.Y,其中 Y 是版本的构建计数)。
我们希望我们的版本增加如下:
- A beta 版本是 运行: 1.0.0.1
- 另一个 beta 版本:1.0.0.2
- A release build 是 运行: 1.0.1.0
- 另一个 beta 版本:1.0.1.3
问题是,我们想在 beta 构建中使用 release 构建的计数器作为补丁号,无需任何人为干预.到目前为止,我已经了解到人们在最后一个构建步骤中使用程序集信息或外部 VCS 跟踪文件来存储当前版本,并在每个构建配置的第一个构建步骤中解析文件。这种方法虽然看起来是标准方法,但不受项目经理的欢迎,因此我想避免使用程序集信息或其他 VCS 跟踪文件来存储版本信息。我尝试在 release 配置中使用 powershell 脚本构建步骤来设置参数 patch 使用:
Write-Host "##teamcity[setParameter name='system.patch' value='%build.counter%']"
然而,使用 teamcity[setParameter...]
似乎在 运行ning 构建中生效,并且仅在连续的构建步骤中生效。我想要的是在一个构建(发布)中设置系统参数,然后在另一个构建配置(测试版)中使用它们的值。
有什么我没看到的直截了当的方法吗?如果你有类似的经历,能指点我正确的方向吗?
我正在通过 powershell 在构建步骤中执行 API 调用来完成类似的事情。这对你有用吗?执行 GET 请求以查找当前发布构建计数器,然后使用 PUT 请求更新适当的参数。
我目前正在 TeamCity 中实施(我不知道实施这个词是否合适,但无论如何)语义版本控制。我有项目级系统参数,我在其中存储版本号部分:system.major
、system.minor
和 system.patch
。我有两个构建配置:
- 首先,我们称之为beta,使用的是major、minor,以及补丁按原样并将其构建计数器值附加到版本(即 1.0.0.X,其中 X 是 beta 的构建计数)。
- 其次,我们称其为release,使用的是major,以及minor(但不是 patch) 原样并将其构建计数器值附加为补丁号(即 1.0.Y,其中 Y 是版本的构建计数)。
我们希望我们的版本增加如下:
- A beta 版本是 运行: 1.0.0.1
- 另一个 beta 版本:1.0.0.2
- A release build 是 运行: 1.0.1.0
- 另一个 beta 版本:1.0.1.3
问题是,我们想在 beta 构建中使用 release 构建的计数器作为补丁号,无需任何人为干预.到目前为止,我已经了解到人们在最后一个构建步骤中使用程序集信息或外部 VCS 跟踪文件来存储当前版本,并在每个构建配置的第一个构建步骤中解析文件。这种方法虽然看起来是标准方法,但不受项目经理的欢迎,因此我想避免使用程序集信息或其他 VCS 跟踪文件来存储版本信息。我尝试在 release 配置中使用 powershell 脚本构建步骤来设置参数 patch 使用:
Write-Host "##teamcity[setParameter name='system.patch' value='%build.counter%']"
然而,使用 teamcity[setParameter...]
似乎在 运行ning 构建中生效,并且仅在连续的构建步骤中生效。我想要的是在一个构建(发布)中设置系统参数,然后在另一个构建配置(测试版)中使用它们的值。
有什么我没看到的直截了当的方法吗?如果你有类似的经历,能指点我正确的方向吗?
我正在通过 powershell 在构建步骤中执行 API 调用来完成类似的事情。这对你有用吗?执行 GET 请求以查找当前发布构建计数器,然后使用 PUT 请求更新适当的参数。