【问题标题】:Is there an SVN client we can use for Maven that supports picking up credentials from Jenkins是否有我们可以用于 Maven 的 SVN 客户端,它支持从 Jenkins 获取凭据
【发布时间】:2016-11-25 12:53:03
【问题描述】:

我们使用 Maven-release-plugin 来执行发布,并调用 SVN 来提交对 pom 的更改、创建分支等。 目前,为了实现这个过程,我们从命令行使用 SVN 客户端登录,并将密码缓存在用户的 .subversion 文件夹中。 有没有办法例如不同的 Maven 插件、不同的 SVN 客户端等,我们只需要在 Jenkins 中拥有凭据即可。

【问题讨论】:

    标签: maven svn jenkins nexus


    【解决方案1】:

    在 Jenkins 中,您可以将 Crendentials Binding Plugin 用于此类目的。

    在管道中,您可以通过以下方式完成:

    withCredentials([[$class: 'UsernamePasswordMultiBinding', credentialsId: 'amazon',
                    usernameVariable: 'USERNAME', 
                    passwordVariable: 'PASSWORD']]) {
                    //available as an env variable, but will be masked if you try to print it out any which way
                    sh 'mvn -Dusername=${USERNAME}, -Dpassword=${PASSWORD}  release:prepare release:perform'
                }
    

    您也可以在release:perform期间添加补充参数通过:

    withCredentials([[$class: 'UsernamePasswordMultiBinding', credentialsId: 'amazon',
                    usernameVariable: 'USERNAME', 
                    passwordVariable: 'PASSWORD']]) {
                    sh 'mvn -Darguments="-Dusername=${USERNAME}, -Dpassword=${PASSWORD}" release:perform'
                }
    

    【讨论】:

      【解决方案2】:

      通过在构建环境中使用凭据绑定插件解决了勾选“使用机密文本或文件。然后选择用户名和密码(分隔)并选择凭据。 在“用户名变量”中输入用户名 在“密码变量”中输入密码 该插件将自动注入凭据中的值并将其隐藏在日志中。

      感谢所有花时间阅读和回复本文的人。

      【讨论】:

        猜你喜欢
        • 2014-03-19
        • 2020-03-17
        • 2018-01-16
        • 2013-05-11
        • 1970-01-01
        • 2017-01-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多