2016-12-05 77 views
1

我目前正在TeamCity中实施(我不知道实现是否是合适的词,但无论如何)。我有项目级系统参数,其中存储版本号部分:system.major,system.minorsystem.patch。我有两个生成配置:更新TeamCity 10中的构建步骤中的项目级参数

  • 首先,我们把它叫做测试,使用主要轻微补丁原样,并追加其生成计数器值的版本(即1.0.0.X其中X是beta的构建计数)。
  • 其次,我们把它叫做释放,使用主要轻微(但不补丁)原样,并追加其生成计数器值作为补丁数量(即1.0.Y其中Y是发布的构建计数)。

我们希望我们的版本递增类似如下:

  1. 一个测试构建运行:1.0.0。
  2. 另外beta build:1.0.0。
  3. A release build is run:1.0。 .0
  4. 另一个beta build:1.0.1。

的问题是,我们要使用补丁数量发布构建的计数器测试构建为好,没有任何人为干预。到目前为止,我已经阅读了关于使用程序集信息或外部VCS跟踪文件在上一个构建步骤中存储当前版本的人员,并在每个构建配置的第一个构建步骤中解析该文件。尽管这种方法似乎是标准方法,但不受项目经理欢迎,所以我想避免使用汇编信息或其他VCS跟踪的文件来存储版本信息。我曾尝试使用PowerShell脚本生成步骤中发布配置使用设置的参数补丁

Write-Host "##teamcity[setParameter name='system.patch' value='%build.counter%']" 

然而,使用teamcity[setParameter...]出现在运行的内搭,只有在连续构建步骤的效果。我想要的是在一个版本(版本)中设置系统参数,然后在另一个版本配置(测试版)中使用它们的值。

有没有任何直截了当的方式,我看不到?如果你有类似的经历,你能指点我正确的方向吗?

+0

可能重复[是否可以永久更新作为自定义运行结果的TeamCity生成参数的值?](http://stackoverflow.com/questions/23339074/is-it-possible-to-永久更新的团队城市建设参数值) – sercancici

+0

我标记这个问题,因为它似乎是[心理]的副本(http://stackoverflow.com/q/23339074/3136110)。对不起,在发布之前我无法意识到这一点。 – sercancici

回答

0

我通过在构建步骤中通过PowerShell进行API调用来完成类似的事情。这可以帮你吗?执行GET请求来查找当前的发布版本计数器,然后使用PUT请求更新适当的参数。

+0

似乎是其余的API是实现预期结果的唯一方法。我用过类似于心理学的东西[回复](http://stackoverflow.com/a/23344586/3136110) – sercancici

相关问题