这开始让我发疯..但是似乎我很没办法亲自找出来:/
我需要设置一个机制,以共享字符串值两个从机,例如,名为从属 甲 和从 乙 。
但是它仍然旨在使能够在buildscript中进行访问,而不是在Slaves环境变量本身中进行访问。(相关的SO问题:在Windows批处理命令的Jenkins中如何使用环境变量?
目前,我有此设置:
1)在 一个 工作 一个 被触发。
它执行以下Windows批处理代码(显然,实际路径已替换为“ <>”):
cmd /c start java -jar <path_of_slave>\slave.jar -jnlpUrl <url_of_slave>/slave-agent.jnlp
setenv.exe /m HOR_BUILD_ID -delete
setenv.exe /m HOR_BUILD_ID %BUILD_NUMBER%
setenv.exe /m HOR_UPSTREAM_ID -delete
setenv.exe /m HOR_UPSTREAM_ID %JOB_NAME%
非常不言自明,直截了当的恕我直言。
2) A 上的作业具有上游作业 B ,该作业在成功构建时触发。因此,在从属 B中 , B
构建执行此批处理代码(显然,实际路径已替换为“ <>”):
SetLocal EnableDelayedExpansion
@echo off
@echo --- Refreshing Environemnt variables...
@echo on
set prgfil=%ProgramFiles(x86)%
call "%WORKSPACE%\..\..\..\tools\misc\resetvars.bat"
@echo --- Reading environment variables...
copy /y "<path_containing_%HOR_UPSTREAM_ID%_variable" "<path_containing_%HOR_BUILD_ID%_variable"
if !errorlevel!==0 goto ok1
goto error
:ok1
goto end
:error
EndLocal
exit /b 1
:end
EndLocal
注意:resetvars.bat和resetvars.vbs取自此SO问题:是否有命令从Windows中的命令提示符刷新环境变量?
输出(%HOR_BUILD_ID%和%HOR_UPSTREAM_ID%值)仍然过时了……刷新新变量的唯一方法是重新启动该织补詹金斯(主)服务,但这在CI环境中肯定是行不通的。
..
现在的问题表面-如何让被刷新这些变量/重读的构建工作时, 乙 对 乙 被触发,这样我就可以从从W /
O使用访问系统变量,例如,EnvInject插件?
另一个需要用户交互的问与答,因此在我的情况下是不可接受的:Jenkins-
在作业之间传递变量?
就我而言,这也不起作用:http
:
//comments.gmane.org/gmane.comp.java.hudson.user/37897
从站及其核心响应节点可能无法正确接收变量/无法正确解析其环境,从而导致无法从全局环境变量中检索信息?抓住它,突然一些有趣的 环境变量
配置数据引起了我的注意:
NODE_LABELS | 产品发布
NODE_NAME | 一个
…这是用于从站 B的 ,但是它应该是不同的值,因为这最初是用于从站 A的 。:/
我开始感觉到根本问题是詹金斯在解决多个从属节点信息时出现错误。
决定创建一个问题@ Jenkins jira:https : //issues.jenkins-
ci.org/browse/JENKINS-15397
您是否看过添加参数化触发器插件?
https://wiki.jenkins-
ci.org/display/JENKINS/Parameterized+Trigger+Plugin
这应该允许您将参数从第一个作业传递到第二个作业(例如要删除的作业名称)。
我正在尝试运行一个带有env变量的docker映像。 但是它对我来说不管是使用env.list文件还是命令行都不起作用。
问题内容: 我从Jenkins触发了一个shell脚本,该脚本获取日期并将其导出为环境(Linux)变量$ DATE。我需要在同一詹金斯工作中使用此$ DATE。我做了工作作为参数构建。创建一个字符串参数作为DATE值,如DATE = $ DATE。但这是行不通的。 请建议! 问题答案: 您提到要在外壳程序脚本中导出环境变量,该脚本可能是通过“执行外壳程序”步骤启动的。 问题是,一旦完成外壳程序步
问题内容: 我想根据例如从jenkins传递的变量来运行测试用例,请选择要运行的测试用例:testcaseOne,testcaseTwo 在pom.xml(maven)中: 我有两个testng @test方法: 还有我的testng.xml文件: 如何根据我要运行的测试数量和数量来传递此参数?也许有完全不同的方式来做到这一点? 问题答案: 您可以在testng.xml文件http://testn
问题内容: 我是webpack的新手,几乎可以解决所有构建部分的问题,但是现在的问题是,我想将环境变量从.env文件传递到webpack config,以便可以通过插件将这些变量传递给我的构建文件。 目前,我能够将环境变量直接从webpack传递到我的构建中。请查看下面我在webpack中使用的代码。 我的构建脚本是 问题答案: 您可以为此目的使用包装 参考:https : //www.npmjs
问题内容: 我有Google地图提供的JavaScript值,需要将其保存在MySQL数据库中。 其实我有变量 我需要将该变量传递给PHP变量lugar 问题答案: 如果要在页面转换时进行操作,则可以通过表单或在URL中传递它,然后仅使用或接收变量。 如果您需要无缝完成它,那么您可能需要考虑使用AJAX。