小编典典

从詹金斯将凭据传递给Maven

jenkins

我有一个运行Jenkins的节点,该节点使用Maven构建代码。Jenkins作业是声明性管道脚本。Maven需要从需要证书才能访问的私有存储库中下载依赖项。凭证存储在Jenkins凭证管理器中。

我如何将这些凭据传递给Maven,以便Maven可以使用这些凭据从私有存储库正确下载依赖项。


阅读 269

收藏
2020-07-25

共1个答案

小编典典

通过将Jenkins凭证注入您的环境,然后将这些凭证传递给Maven,您可以使用Jenkins凭证访问私有存储库。

脚步:

  1. 如果还没有创建一对新的Jenkins凭证(我正在使用ID“ test-creds”)
  2. 使用以下问题的说明:如何通过环境变量传递Maven设置。在需要凭据的maven命令周围,使用“ withCredentials”块。然后将这些凭据传递给Maven。

    withCredentials([usernamePassword(credentialsId: 'test-creds', passwordVariable: 'PASSWORD_VAR', usernameVariable: 'USERNAME_VAR')])
    {
        sh 'mvn clean install -Dserver.username=${USERNAME_VAR} -Dserver.password=${PASSWORD_VAR}'
    }
    
  3. 在您的 settings.xml 文件中,引用以下变量:

    <servers>
        <server>
            <id>yourRepoName</id>
            <username>${server.username}</username>
            <password>${server.password}</password>
        </server>
    </servers>
    
  4. 如果需要指定settings.xml文件,则可以在maven命令中使用-s-gs标志。

2020-07-25