GitVersion.exe
我的Jenkins管道中的变量。
documentation
给出了一个如何做到这一点的提示。本质上是呼叫
gitversion /output buildserver
.
此调用会将变量添加到当前步骤中,一旦步骤完成,这些变量就会丢失。我可以显示在组合
set
在同一个蝙蝠执行命令。第二次
设置
bat 'nuget install GitVersion.CommandLine -OutputDirectory c:/packages -Version 3.6.5'
bat 'c:/packages/GitVersion.CommandLine.3.6.5/tools/GitVersion.exe /output buildserver && set'
bat 'set'
GitVersion的文档意识到了这一点,并建议使用
EnvInject
.
安装插件并执行相同的管道不会改变结果。我读到这个插件不是为管道设计的,所以这可能和它有关。
environment
遵循该语法,我可以在管道顶部设置静态变量,如下所示:
environment {
ASuperVariable = 'MySuperVariable'
}
我需要的是组合这些调用,以便可以向Jenkinsfile pupeline添加运行时变量。
environment {
bat 'gitversion /output buildserver'
}
显然,上面的调用甚至语法都不正确。有没有一种方法可以标记一个节,以便包含的环境更改可用于其他步骤?
这个问题还没有解决。现在我需要创建一个批处理脚本,并将该工具作为参数传递给它。在批处理内部,我可以调用该工具来添加到批处理脚本的环境中,并在批处理运行时使用该工具。如果在所有多行中进程保持相同,那么Jenkins文件中的多行批处理可能是一个解决方案。