如何将Windows批处理变量作为构建参数导出到Jenkins中的以下步骤?

时间:2017-05-04 13:29:59

标签: jenkins jenkins-plugins

在Jenkins中,是否可以将Windows批处理变量导出为构建参数?我知道在Windows批处理块中使用构建参数是,我经常使用它。

例如,我有一个Windows批处理块,它创建一个变量,比如说A,就像

一样
SET A="MyVar"

是否可以在运行MSBuild时使用它,在/p:AssemblyName=%A%/p:AssemblyName=${A}的(工作)语法中将其作为构建参数传递?

这些似乎都不起作用(我的变量总是空的)。

更新:@Tuffwer建议使用EnvInject插件。我一直在努力,但到目前为止还没有成功。这是我创建的一个示例,用于说明我的原始意图:

enter image description here

我想创建一个变量,其内容将根据其中一个构建参数中应用的条件确定。然后,我想使用该变量作为MsBuild命令行的参数,使用/ p:[Key] = [Value]语法(如果我没有错,则需要Jenkins MsBuild插件)。

我现在还无法使用EnvInject来实现这一点。我需要在进一步的构建步骤中引用windows批处理变量的值。

更新II :我转入Environment Script Plugin,为我完成了这项工作。

1 个答案:

答案 0 :(得分:0)

Tuffwer建议使用EnvInject插件,我试过没有成功实现我的意图。我编辑了我的帖子,包括我的EnvInject尝试,但同时又搜索了其他解决方案。

这一次,我遇到Environment Script Plugin,为我做了这份工作。

enter image description here

步骤:

  1. 标记Generate environment variables from script
  2. 对于您想要"导出"的每个变量,您需要发出echo [varName]=[value]声明。
  3. 这就是全部。 然后,我的构建会创建一个名为 TRUE .exe或 FALSE .exe的程序集,具体取决于构建参数MyBool值。