在Jenkins中,是否可以将Windows批处理变量导出为构建 参数?我知道在Windows批处理块中使用构建参数,我 经常使用它。
例如,我有一个Windows批处理块,它创建一个变量,例如A,例如
SET A="MyVar"
是否可以在运行MSBuild时使用它,以(/p:AssemblyName=%A%或)的(有效)语法像传递一个构建参数一样传递它/p:AssemblyName=${A}?
/p:AssemblyName=%A%
/p:AssemblyName=${A}
这些似乎都不起作用(我的变量始终为空)。
更新:@Tuffwer建议使用EnvInject插件。我一直在 尝试,但是到目前为止没有成功。这是我创建的一个示例,用于说明我的 初衷
我想创建一个变量,其内容将根据在 构建参数之一中应用的条件来确定。然后,我想使用 / p:[Key] = [Value]语法将该 变量作为MsBuild命令行的参数 (如果我 没有记错的话,则需要Jenkins MsBuild插件)。
现在使用EnvInject,我仍然无法正常工作。我需要 在进一步的构建步骤中引用Windows批处理变量的值。
更新II:我变成了Environment ScriptPlugin ,它为我完成了工作。
Tuffwer建议使用EnvInject插件,但我尝试未能成功达到我的预期。我编辑了包括 EnvInject尝试在内的帖子,但与此同时又去寻找其他解决方案。
EnvInject
这次,我遇到了Environment Script Plugin,它为我完成了工作。
Environment Script Plugin
在此处输入图片说明
脚步:
标记 Generate environment variables from script 对于要“导出”的每个变量,您需要发出一条echo [varName]=[value]语句。 就这样。然后,我的构建将根据构建参数值创建一个名为TRUE .exe或 FALSE .exe 的程序集MyBool。
Generate environment variables from script
echo [varName]=[value]
TRUE .exe
FALSE .exe
MyBool