如何 get/fetch 将 Jenkins 管道中设置的环境变量导入我们的 maven pom.xml
How to get/fetch the environment variables set in Jenkins pipeline into our maven pom.xml
我使用 Jenkins 管道设置了几个环境变量。
我想在我的 maven pom.xml 文件中获取这些环境变量的值,我想将它们作为 buildArgs 传递给 docker-maven-plugin,它将再次被调用一个 docker 文件。
如何在我的pom.xml中调用那些环境变量?
我尝试了 ${env.JENKINS_USER_NAME}
以及 %JENKINS_USER_NAME%
,但似乎没有任何效果。
用例: 我将 运行 宁我的 Jenkins 管道作业来构建我的项目,最终将在 Stage 中创建一个 docker 图像- 1 然后 运行 Stage-2 中的 docker 容器(这将 运行 内部测试)。
问题: 我的 Jenkins 作业可以根据用户选择的特定 testng.xml 文件触发,如下所示:
触发一次时,它工作正常,但如果我们在不清理工作区的情况下触发第二次,则会抛出类似
的错误
我假设这可能是权限问题,因为我正在挂载卷以将容器测试输出目录映射到 Jenkins 主机-VM 目录
如何在 POM 中获取环境变量?
将值定义为 maven properties (with defaults),然后您可以在 Maven 命令行上覆盖它们,并使用从下拉列表中填充的 Jenkins 环境变量的属性。
pom.xml:
<properties>
<gid>default-gid</gid>
<uid>default-uid/<uid>
<uname>default-uname</uname>
</properties>
<configuration>
<buildArgs>
<GID>${gid}</GID>
<UID>${uid}/<UID>
<UNAME>${uname}</UNAME>
</buildArgs>
</configuration>
SH 执行命令:
mvn -Dgid=my-gid -Duid=my-uid -Duname=my-uname clean system-test:latest ${TestSuiteFiles}
我使用 Jenkins 管道设置了几个环境变量。
我想在我的 maven pom.xml 文件中获取这些环境变量的值,我想将它们作为 buildArgs 传递给 docker-maven-plugin,它将再次被调用一个 docker 文件。
如何在我的pom.xml中调用那些环境变量?
我尝试了 ${env.JENKINS_USER_NAME}
以及 %JENKINS_USER_NAME%
,但似乎没有任何效果。
用例: 我将 运行 宁我的 Jenkins 管道作业来构建我的项目,最终将在 Stage 中创建一个 docker 图像- 1 然后 运行 Stage-2 中的 docker 容器(这将 运行 内部测试)。
问题: 我的 Jenkins 作业可以根据用户选择的特定 testng.xml 文件触发,如下所示:
触发一次时,它工作正常,但如果我们在不清理工作区的情况下触发第二次,则会抛出类似
的错误我假设这可能是权限问题,因为我正在挂载卷以将容器测试输出目录映射到 Jenkins 主机-VM 目录
如何在 POM 中获取环境变量?
将值定义为 maven properties (with defaults),然后您可以在 Maven 命令行上覆盖它们,并使用从下拉列表中填充的 Jenkins 环境变量的属性。
pom.xml:
<properties>
<gid>default-gid</gid>
<uid>default-uid/<uid>
<uname>default-uname</uname>
</properties>
<configuration>
<buildArgs>
<GID>${gid}</GID>
<UID>${uid}/<UID>
<UNAME>${uname}</UNAME>
</buildArgs>
</configuration>
SH 执行命令:
mvn -Dgid=my-gid -Duid=my-uid -Duname=my-uname clean system-test:latest ${TestSuiteFiles}