在我的CI(gitlab)中,我正在使用来自docker的maven来执行工件的构建以及在 archiva 存储库上的部署。
archiva存储库使用通过 letsencrypt 生成的SSL证书。
我可以使用以下方法将工件成功部署在 archiva 上:
mvn clean package -B deploy -Djavax.net.ssl.trustStore=/tmp/mavenKeystore
我正在将keystore作为cli参数传递:一切正常。
但是使用释放插件时,trustStore
参数将被忽略:
mvn release:clean release:prepare -B release:perform -DscmCommentPrefix='[ci skip]' -Djavax.net.ssl.trustStore=/tmp/mavenKeystore
使用此命令,我得到SSL错误:
sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
答案 0 :(得分:0)
我发现,我需要传递trustStore
作为deploy
目标的参数。这有效:
mvn release:prepare -B release:perform -DscmCommentPrefix='[ci skip]' -Dgoals='deploy -Djavax.net.ssl.trustStore=/tmp/mavenKeystore'