繁体   English   中英

Jenkins 脚本管道作业失败,因为 GLOBAL MAVEN_OPTS 在脚本中不可用

[英]Jenkins scripted pipeline job failing because of GLOBAL MAVEN_OPTS not available in script

1.我有 Jenkins 管道作业,它在某个 maven 项目上执行简单的演示任务“mvn clean”。 2. mvn clean 将从公司的中央 maven 存储库下载一些插件 jar。 3. 机器在全局/系统级别配置了 MAVEN_OPTS。 4. 当我作为用户 'jenkins' 从 shell 执行相同的 'mvn' clean 命令时,它工作正常并且构建成功。 5. 但是当我的 Jenkins 管道执行相同的命令时失败并抛出认证错误。 6. 以下是错误“PKIX 路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:无法找到请求目标的有效证书路径”

我的一位同事向我解释了以下原因。 作业失败,因为 Jenkins 启动另一个子进程(mvn clean)并且该子作业无权访问系统级环境变量。 解决方案是

  1. 在每个 mvn 命令中放置证书路径,如下所示“mvn clean -Djavax.net.ssl.trustStore=/etc/pki/tls/certs/wd-truststore -Djavax.net.ssl.trustStorePassword=changei”

或 2. 配置 jenkins 作业并在“执行 shell”中的“构建环境”部分提及命令以执行 shell 脚本以设置 MAVEN_OPTS,如下所示

“echo mavenOpts='-Xmx2g -Djavax.net.ssl.trustStore=wd-truststore -Djavax.net.ssl.trustStorePassword=changeit”

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM