tra*_*max 5 teamcity teamcity-9.0
我正在 TeamCity 中构建 nuget,并希望在签入触发构建时将后缀“-pre”附加到版本号。当构建被手动触发时,我希望能够提供一个复选框,如果这个构建应该是预览版本或值得生产的。
我有一个这样创建的配置参数:


在这种情况下,我总是-pre添加到版本号,即使我手动触发构建并且不选中复选框。
如果我-pre从参数的默认值中删除该值 ,则复选框提示会按预期工作。但是当我通过签入触发我的构建时,系统没有给我-pre后缀,我最终得到了一个只能手动创建的生产版本。
有什么方法可以实现我需要的吗?
或者,我只想在构建的手动触发器上发布 nuget,并不真正关心预发布,但我似乎找不到任何方法来检查构建是手动触发还是通过签入触发.
第一部分相对简单,使用一个步骤来检查复选框的值并根据它设置参数 - 这里我使用了 powershell,但这可以在 bash 中完成(我假设使用 powershell,因为你正在生成 nuget包)
请注意,我稍微颠倒了你的逻辑,但它产生了你想要的结果。





您应该能够在需要时使用%ReleaseSuffix% 。
关于您的第二个要求,我再次假设您只想发布一个基于发布构建而不是预发布的 nuget 包(如果我错误地假设了这一点,请告诉我)
基于参数值的条件构建步骤是我在 YouTrack 上跟踪了一段时间的内容。自 2011 年以来就已提出要求,但仍未将其作为一项功能纳入其中。我在 2014 年发表此评论作为一种解决方法,但没有 Java 技能(你可能会这样做) -我对 YouTrack Issue 的评论
有一种替代方法可以实现此功能,这可能需要对构建配置进行一些修改。
如果您的“Publish NuGet”步骤没有被任何东西触发(假设它是由之前的构建完成触发的),那么您可以有一个构建步骤
它可能看起来像这样 - 只需确保替换突出显示的位

希望这可以帮助
| 归档时间: |
|
| 查看次数: |
2605 次 |
| 最近记录: |