当前位置: 首页 > 面试题库 >

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

岳正浩
2023-03-14
问题内容

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

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

SET A="MyVar"

是否可以在运行MSBuild时使用它,以(/p:AssemblyName=%A%或)的(有效)语法像传递一个构建参数一样传递它/p:AssemblyName=${A}

这些似乎都不起作用(我的变量始终为空)。

更新:@Tuffwer建议使用EnvInject插件。我一直在
尝试,但是到目前为止没有成功。这是我创建的一个示例,用于说明我的
初衷

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

现在使用EnvInject,我仍然无法正常工作。我需要
在进一步的构建步骤中引用Windows批处理变量的值。

更新II:我变成了Environment ScriptPlugin ,它为我完成了工作。


问题答案:

Tuffwer建议使用EnvInject插件,但我尝试未能成功达到我的预期。我编辑了包括
EnvInject尝试在内的帖子,但与此同时又去寻找其他解决方案

这次,我遇到了Environment Script Plugin,它为我完成了工作。

在此处输入图片说明

脚步:

标记 Generate environment variables from script
对于要“导出”的每个变量,您需要发出一条echo [varName]=[value]语句。
就这样。然后,我的构建将根据构建参数值创建一个名为TRUE .exe
FALSE .exe程序MyBool



 类似资料:
  • 问题内容: 好吧,我需要在我的Hudson Job中执行一个批处理文件,我有一个参数(Jenkis参数),我需要将此参数(如param)传递给批处理文件,我尝试了以下方法: 我的Deploy.cmd配置为获取此值,但Jenkis不分配值。例如,我有以下内容: 然后,批处理文件将使用此值 接受参数名称而不是其值 问题答案: 执行您的批处理文件,如下所示 如果您的Jenkins服务器在unix / L

  • 问题内容: 在我的Scala测试中,我通过读取了一个环境变量。 测试通过詹金斯进行。 我添加了一个作为构建步骤。 通过查看SO上的类似问题,我想到了这个解决方案-即将“操作”字段设置为: 但它不起作用。执行时未设置任何变量。 Jenkins控制台输出包含: last 问题答案: 如果您不使用新的JVM执行测试,则设置不会执行任何操作。SBT摘录: 这解释了为什么不进行分叉测试时不使用您的代码。 您

  • 问题内容: 我正在使用Scriptler插件,因此可以在构建步骤中运行groovy脚本。我的Jenkins奴隶正在服务模式下的Windows上运行。使用脚本编辑器,我不需要使用Windows批处理脚本。 但是我很难在构建步骤中获取环境变量。 哪里是将env-瓦尔对詹金斯启动部分。但是,我想得到 如果要添加“执行Windows批处理命令”构建步骤: 有用。如果要添加具有相同设置的脚本程序脚本作为构建

  • 我使用脚本插件,所以我可以运行一个Groovy脚本作为构建步骤。我的Jenkins奴隶在服务模式下的窗口上运行。有了脚本,我不需要使用窗口批处理脚本。 但是我很难在构建步骤中获取环境变量…这是有效的: 其中 是 enkins 初创公司 env-vars 的一部分。但是,我想得到 如果我添加“执行 Windows 批处理命令”构建步骤: 它起作用了。如果我添加一个脚本脚本作为具有相同设置的构建步骤:

  • 我想计算我的xhtml页面上的所有元素。我希望每个下一个元素都以更大的顺序放入HashMap中。 private void addComponents(HashMap信息、列表组件、整数顺序、FacesContext上下文){ } 我有作为输出和错误的数字 为什么这两种方法的作用不同?

  • 我正在尝试使用声明性语法编写Jenkins管道(如果我真的不能取得任何进展,我将切换到脚本)。然而,我不知道如何获取函数的返回值以存储到变量中,因此我可以将该变量用作下一个函数的参数。 我的管道阶段如下所示: 我的错误日志是: ArtifactoryMavenBuild函数在我这样放置时工作: artifactoryMavenBuild(mavenBuild: newMavenBuild(),工具