Java Jenkins-Env Inject-Changing.properties文件在我的项目中使用
如何从jenkins注入环境变量 以下是maven项目(test ng)的my automation.properties文件的结构。我已将其放置在项目工作区的config文件夹中Java Jenkins-Env Inject-Changing.properties文件在我的项目中使用,java,maven,jenkins,Java,Maven,Jenkins,如何从jenkins注入环境变量 以下是maven项目(test ng)的my automation.properties文件的结构。我已将其放置在项目工作区的config文件夹中 BASEURL = http://uat.myportal.com/ BROWSER = firefox GETDBVERSION=Y TESTDATA = InputTestData/InputData.xlsx GEOMCHECKDATA = InputTestData/Geometry_Check.xls
BASEURL = http://uat.myportal.com/
BROWSER = firefox
GETDBVERSION=Y
TESTDATA = InputTestData/InputData.xlsx
GEOMCHECKDATA = InputTestData/Geometry_Check.xlsx
C_TESTDATA = InputTestData/C_TESTDATA.xlsm
D_TESTDATA = InputTestData/D_TESTDATA.xlsm
然后检索所有属性并将其添加到全局变量中,如下所示:
public void StoreAllConfigProptoConstants() throws Exception
{
FileInputStream fs = new FileInputStream("config/automation.properties");
CONFIG = new Properties();
CONFIG.load(fs);
Constants.URL = CONFIG.getProperty("BASEURL").trim();
Constants.TESTDATA = CONFIG.getProperty("TESTDATA").trim();
Constants.GETDBVERSION= CONFIG.getProperty("GETDBVERSION").trim();
....
....
}
当我将我的项目与jenkins集成时,我无法更改这些环境变量
有谁能帮我做同样的事吗。我试过使用envInject,但它似乎不起作用
我已经尝试了所有的组合,但它只是从位置,而不是从詹金斯
我是詹金斯的新手,我需要专家帮助解决同样的问题。我需要做的就是,我应该能够在本地执行以及duing jenkins执行期间进行更改
带截图的解释(如果可能的话)会对我很有帮助
附加我的詹金斯设置的屏幕截图
您的类正在阅读
conf/automation.properties
文件。此文件必须存在于Jenkins作业$WORKSPACE/目录中
Env Inject不会替换此文件中的值
如果您为文件指定了文件路径(您已经完成了),Env Inject将从文件中创建环境变量。
Env Inject将从属性内容中的任何内容(您已经完成)创建环境变量
将逻辑更改为读取环境变量而不是属性文件,或者提供所需的属性文件 您的类正在阅读
conf/automation.properties
文件。此文件必须存在于Jenkins作业$WORKSPACE/目录中
Env Inject不会替换此文件中的值
如果您为文件指定了文件路径(您已经完成了),Env Inject将从文件中创建环境变量。
Env Inject将从属性内容中的任何内容(您已经完成)创建环境变量
将逻辑更改为读取环境变量而不是属性文件,或者提供所需的属性文件 请详细解释你所说的“我不能改变这些环境变量”是什么意思。你期望什么?实际结果是什么?嗨,安德烈,当我在本地执行时(不是通过詹金斯),我能够改变环境属性,并且在执行过程中也反映了这一点。但当我使用jenkins调用它时,我无法更改env参数(即使我使用env-Inject插件)。我所需要的是,我应该能够通过詹金斯以及改变环境参数。您的代码正在读取属性文件。您是否正在使用EnvInject在Jenkins中生成属性文件?请提供详细的Jenkins配置、详细结果、日志。@Andre,我正在使用ENV inject插件。但我不确定为什么属性文件没有得到更新/没有从jenkins配置中选取值,但我的jenkins日志清楚地表明它已成功注入。我是否应该对代码进行任何更改以实现它/我是否遗漏了一些内容?@Andre,我已将jenkins配置添加为图像(链接)。请参考我问题下的截图-(Jenkins设置1和Jenkins设置2)。请详细解释您所说的“我无法更改这些环境变量”是什么意思。预期结果是什么?实际结果是什么?嗨,安德烈,当我在本地执行时(不是通过詹金斯),我能够改变环境属性,并且在执行过程中也反映了这一点。但当我使用jenkins调用它时,我无法更改env参数(即使我使用env-Inject插件)。我所需要的是,我应该能够通过詹金斯以及改变环境参数。您的代码正在读取属性文件。您是否正在使用EnvInject在Jenkins中生成属性文件?请提供详细的Jenkins配置、详细结果、日志。@Andre,我正在使用ENV inject插件。但我不确定为什么属性文件没有得到更新/没有从jenkins配置中选取值,但我的jenkins日志清楚地表明它已成功注入。我是否应该对代码进行任何更改以实现它/我是否遗漏了一些内容?@Andre,我已将jenkins配置添加为图像(链接)。请参考我问题下的截图-(詹金斯设置1和詹金斯设置2)。非常感谢您的回复。我能够理解上下文,但在实现相同的过程中遇到了困难。你能提供一些步骤,伪代码和截图来帮助我更好的理解吗?谢谢你的回复。我能够理解上下文,但在实现相同的过程中遇到了困难。你能提供步骤,伪代码和截图,这将帮助我更好地理解。