使用$(GitVersion.NuGetVersion)标记源将使用变量名而不是值创建标记
成功生成后,将标签格式配置为使用$(GitVersion.NuGetVersion)标记源将使用变量名而不是值创建标记,git,azure-devops,tfsbuild,azure-pipelines,gitversion,Git,Azure Devops,Tfsbuild,Azure Pipelines,Gitversion,成功生成后,将标签格式配置为$(GitVersion.NuGetVersion),生成的标记设置为$(GitVersion.NuGetVersion),而不是该变量的实际扩展值 在构建输出日志中,有两个部分/计划:构建和最终构建 假设,一旦构建代理移动到第二部分/计划,所有变量上下文/状态都将丢失 如果GitVersion变量的上下文在Finalize Build部分丢失,我应该如何用生成的GitVersion标记源代码 我在下面的对话中回答了你的问题: 我认为,只要VSTS不提供适当的API,
$(GitVersion.NuGetVersion)
,生成的标记设置为$(GitVersion.NuGetVersion)
,而不是该变量的实际扩展值
在构建输出日志中,有两个部分/计划:构建和最终构建
假设,一旦构建代理移动到第二部分/计划,所有变量上下文/状态都将丢失
如果GitVersion变量的上下文在Finalize Build部分丢失,我应该如何用生成的GitVersion标记源代码
我在下面的对话中回答了你的问题: 我认为,只要VSTS不提供适当的API,我们就无法在GitVersion任务中对此做任何事情。GitVersion当前仅使用定义变量。变量在任务上下文中明确定义,因此可用于后续任务,但不能在上下文之外 一种特殊情况是我们正在使用的存在特殊命令的内部版本号 一种解决方法是添加一个额外的任务来添加标记,这将起作用,因为该任务将位于相同的上下文中,因此可以访问该变量
实现预期结果的具体步骤:
git
:
标记-a$(GitVersion\u NuGetVersion)-m“按内部版本($(Build.BuildId))自动标记v$(GitVersion\u NuGetVersion)”
推送源代码$(Build.BuildNumber)
标记在服务器上完成,在代理上下文中设置的变量在finalize中不可用。谢谢!谢谢。