我有一个运行Jenkins的节点,该节点使用maven构建代码。 Jenkins作业是声明性管道脚本。 Maven需要从需要证书才能访问的私有存储库下载依赖项。凭据存储在Jenkins凭据管理器中。
如何将这些凭据传递给Maven,以便Maven可以使用这些凭据从私有存储库正确下载依赖项。
答案 0 :(得分:1)
通过将Jenkins凭据注入您的环境,然后将这些凭据传递给Maven,您可以使用Jenkins凭据访问私有存储库。
步骤:
withCredentials([usernamePassword(credentialsId: 'test-creds', passwordVariable: 'PASSWORD_VAR', usernameVariable: 'USERNAME_VAR')])
{
sh 'mvn clean install -Dserver.username=${USERNAME_VAR} -Dserver.password=${PASSWORD_VAR}'
}
<servers>
<server>
<id>yourRepoName</id>
<username>${server.username}</username>
<password>${server.password}</password>
</server>
</servers>
-s
或-gs
标志。答案 1 :(得分:1)
有一个更好的方法,可以使用Config File Provider和Credentilals Jenkins插件解决此任务。只需创建maven settings.xml配置文件并将服务器凭据注入其中即可。
步骤:
stage('Publish to nexus')
withMaven(mavenSettingsConfig: 'the name of your configuration file in jenkins'){
sh mvn clean deploy
}
答案 2 :(得分:0)
from Config File Provider page这仅适用于自由式或 maven 作业。不适用于多分支管道。请参阅配置文件提供程序插件文档 here