Jenkins - Env Inject - 更改我项目中使用的.properties文件

时间:2016-01-06 05:05:21

标签: java maven jenkins

如何从jenkins注入环境变量

以下是我的maven项目(test-ng)的automation.properties文件的结构。我已将其放置在项目工作区的config文件夹中。

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,但似乎没有工作。

我已尝试过所有组合,但它只是从位置拾取而不是从jenkins ...

我是詹金斯的新手,我需要专家帮助解决这个问题。我需要做的就是,我应该能够在本地执行期间以及执行jenkins时进行更改。

截图说明(如果可能的话)对我有帮助。

附加我的Jenkins设置的屏幕截图

Jenkins Set up 2 {{3}}

1 个答案:

答案 0 :(得分:0)

您的班级正在阅读conf/automation.properties文件。该文件必须存在于Jenkins作业$ WORKSPACE /目录中。

Env Inject将替换此文件中的值。

如果你给它一个文件路径(你已经完成),Env Inject将从文件创建环境变量。 Env Inject将从Properties Content(您已经完成)中的任何内容创建环境变量。

更改逻辑以读取环境变量而不是属性文件,或提供所需的属性文件。

相关问题