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

Jenkins插件-环境变量

谭勇
2023-03-14
问题内容

我正在将Jenkins与Testswarm和此插件一起使用(派生资源)。

我想为Testswarm获取一个“工作名称”,其中包含詹金斯的工作名称,内部版本号和svn修订版号。

将JOB_NAME放在配置字段中无济于事,该变量不会被其值替换。

因此,我修改了插件源代码以获取Jenkins环境变量,但我得到的只是“空”变量。

这是罪魁祸首代码。(在第205行的src / main / java / com / javaclimber / jenkins /
testswarmplugin / TestSwarmBuilder.java中)

我对此功能进行了很多研究,但没有找到 获取 变量的有效示例。

public boolean perform(AbstractBuild build, Launcher launcher, BuildListener listener) throws InterruptedException, IOException {
    ...
EnvVars envVars = build.getEnvironment(listener);
    ...
    envVars.get("JOB_NAME")
}

我在使用Java时不自在,目前仍处于困境。有人知道吗?

更新:Java使用的版本
Java版本“ 1.6.0_24”
OpenJDK运行时环境(IcedTea6 1.11.5)(6b24-1.11.5-0ubuntu1〜10.04.2)
OpenJDK 64位服务器VM(内部版本20.0-b12,混合模式)


问题答案:

更换

EnvVars envVars = build.getEnvironment(listener);

通过

EnvVars envVars = new EnvVars();
envVars = build.getEnvironment(listener);

做到了…



 类似资料:
  • 我正在开发一个詹金斯插件,我需要为詹金斯的所有工作提供一个新的环境变量。有点像Jenkins全局属性或环境变量,或者完全一样。我不确定。我只需要它对任何脚本都可用。 我已经在插件的文件的一个条目中捕获了这个环境变量的值,该文件是公开的,可以通过访问

  • 问题内容: 我正在从已设置用户权限的用户那里运行Jenkins ,当我进入Jenkins Web界面时,在“ 系统属性” 窗口()中看到了一个不同的。 我已经使用Jenkins网站上的本地rpm在Centos上安装了Jenkins。我正在使用安装随附的启动脚本 谁能告诉我为什么会这样? 问题答案: 迈克尔 两件事情: 当詹金斯连接到计算机时,它将连接到外壳,而不是外壳(至少这是我注意到的-我可能错

  • 问题内容: 从调用的构建流程作业中,我尝试了两种方法: 和: 没有运气。 问题答案: 我也为此付出了很多努力,却发现没有干净的方法可以做到这一点。我终于以某种丑陋的方式来做到这一点。 … EnvInject插件神奇 我首先尝试实现EnvironmentContributingAction 并将其添加为,但由于未知原因对我不起作用。 确保在调用的作业中设置“ Flow run需要一个工作区”。

  • 我遵循了这篇文章中关于如何使用EnvInject插件创建和设置Jenkins环境变量的建议。我在后期构建步骤中使用“注入环境变量”,并设置“属性文件路径” windows批处理脚本创建一个环境变量,并将其写入属性文件:,如: 挑战:仅从结果中提取第一行。txt并跳过其余的行。 如何设置OPS具有所有行作为其值? 我将“属性文件路径”设置为

  • 问题内容: Jenkins(管理jenkins->系统信息)下的环境变量从何而来? 我检查了/etc/init.d/tomcat5,/ usr / bin / dtomcat5,/ usr / bin / tomcat5,/ etc / sysconfig / tomcat5和/ etc / profile,但在那里没有看到任何此类变量,特别是与Oracle相关的变量(Base,Home,Ld_l

  • 问题内容: 在詹金斯(Jenkins)的工作中,我正在执行预构建中的一些操作,例如执行Shell脚本。通过使用Jenkins插件“ EnvInject”,我想将环境变量注入到我的Maven构建(单元测试)中,以便可以在Java单元测试中使用这些变量。在shell脚本中,即时消息执行类似以下操作: 在构建Jenkins时,输出以下内容: 但是“ ip”变量在我的Java代码(单元测试)中不可用。当我