TeamCity - AssemblyInfoPatcher 不使用更新的变量
TeamCity - AssemblyInfoPatcher not using updated variable
我正在使用 Powershell 中的服务消息(构建脚本交互)更改 TeamCity (9.1.4) 构建的构建编号:
Write-Host "##teamcity[buildNumber '$version.$arg2']"
这绝对没问题。
问题是 AssemblyInfoPatcher 不想使用这个更新的内部版本号。
所以我尝试使用 variable/parameter 但这也不起作用。
我将以下变量 "Major.Minor.Patch" 定义为 "Configuration Parameter" 或 "Environment Variables"。 AssemblyInfoPatcher 很好地使用了这些变量,并使用构建中 TeamCity 中定义的版本更改了我的文件的文件版本。
如果我尝试使用服务消息更改 variable/parameter,它不起作用。 AssemblyInfoPatcher 仍在使用旧值。
带有环境变量的示例
Write-Host "##teamcity[setParameter name='env.Major.Minor.Patch' value='$version']"
带有配置参数的示例
Write-Host "##teamcity[setParameter name='Major.Minor.Patch' value='$version']"
我是做错了什么还是根本不可能?我唯一想要的是我的文件具有与我的 TeamCity 版本相同的版本号...
AsssemblyInfoPatcher 在之前任何构建步骤运行(然后再次运行以恢复您的 AssemblyInfo 文件在所有构建步骤之后) .因此,如果您的构建步骤之一使用服务消息设置 Major.Minor.Patch
,那么游戏就太晚了。
也许您可以将多个构建配置串在一起。第一个配置 (A) 将像您现在所做的那样设置参数,然后触发第二个配置 (B),它将使用 AssemblyInfoPatcher。 B 将对 A 具有快照依赖性(除了完成构建触发器之外),因此其 AssemblyInfoPatcher 将能够引用 %dep.A.Major.Minor.Patch%
。当然,这个参数在 B 的 AssemblyInfoPatcher 运行时就已经可用了。
我正在使用 Powershell 中的服务消息(构建脚本交互)更改 TeamCity (9.1.4) 构建的构建编号:
Write-Host "##teamcity[buildNumber '$version.$arg2']"
这绝对没问题。
问题是 AssemblyInfoPatcher 不想使用这个更新的内部版本号。
所以我尝试使用 variable/parameter 但这也不起作用。
我将以下变量 "Major.Minor.Patch" 定义为 "Configuration Parameter" 或 "Environment Variables"。 AssemblyInfoPatcher 很好地使用了这些变量,并使用构建中 TeamCity 中定义的版本更改了我的文件的文件版本。
如果我尝试使用服务消息更改 variable/parameter,它不起作用。 AssemblyInfoPatcher 仍在使用旧值。
带有环境变量的示例
Write-Host "##teamcity[setParameter name='env.Major.Minor.Patch' value='$version']"
带有配置参数的示例
Write-Host "##teamcity[setParameter name='Major.Minor.Patch' value='$version']"
我是做错了什么还是根本不可能?我唯一想要的是我的文件具有与我的 TeamCity 版本相同的版本号...
AsssemblyInfoPatcher 在之前任何构建步骤运行(然后再次运行以恢复您的 AssemblyInfo 文件在所有构建步骤之后) .因此,如果您的构建步骤之一使用服务消息设置 Major.Minor.Patch
,那么游戏就太晚了。
也许您可以将多个构建配置串在一起。第一个配置 (A) 将像您现在所做的那样设置参数,然后触发第二个配置 (B),它将使用 AssemblyInfoPatcher。 B 将对 A 具有快照依赖性(除了完成构建触发器之外),因此其 AssemblyInfoPatcher 将能够引用 %dep.A.Major.Minor.Patch%
。当然,这个参数在 B 的 AssemblyInfoPatcher 运行时就已经可用了。