程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了在Jenkins管道中使用凭证签出SVN?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决在Jenkins管道中使用凭证签出SVN??

开发过程中遇到在Jenkins管道中使用凭证签出SVN?的问题如何解决?下面主要结合日常开发的经验,给出你关于在Jenkins管道中使用凭证签出SVN?的解决方法建议,希望对你解决在Jenkins管道中使用凭证签出SVN?有所启发或帮助;

您可以将 用于 步骤。这将显示熟悉的Subversion配置选项,并照常将凭据作为参数。

代码段生成器会产生一些难看的参数选择表示,如下所示:

checkout([$class: 'SubversionSCM', 
          additionalCredentials: [], 
          excludedCommitMessages: '', 
          excludedRegions: '', 
          excludedRevprop: '', 
          excludedUsers: '', 
          filterChangelog: false, 
          ignoreDirPropChanges: false, 
          includedRegions: '', 
          locations: [[credentialsID: '34761a89-1402-47d7-96e2-aec22ffdc50b', 
                       depthOption: 'infinity', 
                       ignoreExternalsOption: true, 
                       local: 'cable_branch', 
                       remote: "https://trac.nci.org.au/svn/cable/branches/$SVN_BRANCH"]], 
          workspaceUpdater: [$class: 'UpdateUpdater']])

注意, 部分使用双引号,因此变量$ SVN_BRANCH被正确替换。

解决方法

如何通过Jenkins管道groovy脚本检出需要用户凭据的Subversion存储库?似乎内置svn命令不支持凭据,因此我尝试了如下代码:

node {
    stage 'checkout'
    withCredentials([[$class: 'UsernamePasswordMultiBinding',credentialsId: '34761a89-1402-47d7-96e2-aec22ffdc50b',usernameVariable: 'USERNAME',passwordVariable: 'PASSWORD']]) {
        sh "svn co https://trac.nci.org.au/svn/cable/branches/$SVN_BRANCH --username $USERNAME --password $PASSWORD cable_branch"
    }
}

但这失败了

groovy.lang.MissingPropertyException: No such property: USERNAME for class: groovy.lang.Binding
    at groovy.lang.Binding.getVariable(Binding.java:63)
    at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SandboxInterceptor.onGetProperty(SandboxInterceptor.java:224)
    at org.kohsuke.groovy.sandbox.impl.Checker$4.call(Checker.java:241)
    at org.kohsuke.groovy.sandbox.impl.Checker.checkedGetProperty(Checker.java:238)
    at org.kohsuke.groovy.sandbox.impl.Checker.checkedGetProperty(Checker.java:221)
    at org.kohsuke.groovy.sandbox.impl.Checker.checkedGetProperty(Checker.java:221)
    at com.cloudbees.groovy.cps.sandbox.SandboxInvoker.getProperty(SandboxInvoker.java:23)
    at com.cloudbees.groovy.cps.impl.PropertyAccessBlock.rawGet(PropertyAccessBlock.java:17)
    at WorkflowScript.run(WorkflowScript:5)
    at ___cps.transform___(Native Method)
    ...

我想念什么?

大佬总结

以上是大佬教程为你收集整理的在Jenkins管道中使用凭证签出SVN?全部内容,希望文章能够帮你解决在Jenkins管道中使用凭证签出SVN?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: