Vel*_*lth 6 java maven jenkins jenkins-plugins
在Jenkins的工作中,我正在执行一些驻留在前置步骤构建中的操作,例如执行shell脚本.使用Jenkins插件"EnvInject"我想将环境变量注入我的maven构建(单元测试),以便可以在我的Java单元测试中使用它们.在shell脚本里面我做了类似的事情:
echo "ip=$IP" >> unit-test.properties
Run Code Online (Sandbox Code Playgroud)
构建Jenkins时输出以下内容:
[EnvInject] - Injecting environment variables from a build step.
[EnvInject] - Injecting as environment variables the properties file path 'unit-test.properties'
[EnvInject] - Variables injected successfully.
Run Code Online (Sandbox Code Playgroud)
但是我的Java代码(单元测试)中没有"ip"变量.当我对两者进行完整打印时,System.getProperties() and System.getenv()我没有看到"ip"入伍.
我是否需要对maven执行任何特殊操作才能将变量传递给我的Java代码?还有别的错吗?
从这一点开始,我几乎陷入困境,我确实希望key=value从我的Java代码中预先注入一个步骤.
Vel*_*lth 11
我的解决方案
创建"构建自由式软件项目".
key=value对应到.properties文件可以使用key步骤#2中定义的所有自定义环境变量进行访问.这是我发现从shell到java注入环境变量的唯一方法.

| 归档时间: |
|
| 查看次数: |
21325 次 |
| 最近记录: |