当前位置: 首页 > 知识库问答 >
问题:

Jenkins EnvInject插件-包含多行的环境变量值

彭星津
2023-03-14

我遵循了这篇文章中关于如何使用EnvInject插件创建和设置Jenkins环境变量的建议。我在后期构建步骤中使用“注入环境变量”,并设置“属性文件路径”

windows批处理脚本创建一个环境变量OPS,并将其写入属性文件:results。包含多行的txt,如:

OPS= This is line one,
This is two
This is three 

挑战:OPS仅从结果中提取第一行。txt并跳过其余的行。

如何设置OPS具有所有行作为其值?

cd C:\To\Test\Class\Path
java utilities.LogExtractor>ops.txt
@echo off
setlocal EnableDelayedExpansion
set LF=^


rem *** Two empty lines are required for the linefeed
FOR /F "delims=" %%a in (ops.txt) do (
  set var=!var!!LF!%%a
)
set var=!var!!LF!
echo OPS=!var! > %JENKINS_HOME%\jobs\%JOB_NAME%\builds\%BUILD_NUMBER%\results.txt

我将“属性文件路径”设置为%JENKINS\u HOME%\jobs\%JOB\u NAME%\builds\%BUILD\u NUMBER%\results。txt

共有1个答案

林修真
2023-03-14

从源代码来看,我认为它使用java.util.属性来加载文件,调用加载方法。留档说你可以用反斜杠转义换行,所以使用

OPS= This is line one,\
This is two\
This is three 

应该足够了。(请小心,行首的空格是空白。)

 类似资料:
  • 问题内容: 我正在将Jenkins与Testswarm和此插件一起使用(派生资源)。 我想为Testswarm获取一个“工作名称”,其中包含詹金斯的工作名称,内部版本号和svn修订版号。 将JOB_NAME放在配置字段中无济于事,该变量不会被其值替换。 因此,我修改了插件源代码以获取Jenkins环境变量,但我得到的只是“空”变量。 这是罪魁祸首代码。(在第205行的src / main / ja

  • 问题内容: 我有以下问题:我在Jenkins服务器上执行Windows批处理文件,并且不得不将多行环境变量(通过Jenkins参数设置)拆分为单行。每行是另一个程序的参数列表的一部分: Jenkins文本框参数: 应该在詹金斯内部引发以下调用: 我尝试将其拆分,但没有成功。搜索没有发现任何有用的信息,我尝试的任何操作都给了我语法错误,或者只是打印了第一行。 这是我尝试过的事情: 给我语法错误,因为

  • Git 总是在一个 bash shell 中运行,并借助一些 shell 环境变量来决定它的运行方式。 有时候,知道它们是什么以及它们如何让 Git 按照你想要的方式去运行会很有用。 这里不会列出所有的 Git 环境变量,但我们会涉及最有的那部分。 全局行为 像通常的程序一样,Git 的常规行为依赖于环境变量。 GIT_EXEC_PATH 决定 Git 到哪找它的子程序 (像 git-commit

  • Puppeteer 寻找某些环境变量来帮助其操作。 如果 puppeteer 在环境中没有找到它们,这些变量的小写变体将从 npm 配置 中使用。 HTTP_PROXY, HTTPS_PROXY, NO_PROXY - 定义用于下载和运行 Chromium 的 HTTP 代理设置。 PUPPETEER_SKIP_CHROMIUM_DOWNLOAD - 请勿在安装步骤中下载绑定的 Chromium。

  • 环境变量 vue-element-admin 4.0 之后是基于 vue-cli来进行构建,所以所有的环境变量配置都是基于vue-cli来实现和控制的。 官方文档 .env # 在所有的环境中被载入 .env.[mode] # 只在指定的模式中被载入 一个环境文件只包含环境变量的“键=值”对: FOO=bar VUE_APP_SECRET=secre

  • 一些 Electron 的行为受到环境变量的控制,因为他们的初始化比命令行和应用代码更早. POSIX shells 的例子: $ export ELECTRON_ENABLE_LOGGING=true $ electron Windows 控制台: > set ELECTRON_ENABLE_LOGGING=true > electron ELECTRON_RUN_AS_NODE 类似nod