【问题标题】:Create SVNClientManager on slaves在从属设备上创建 SVNClientManager
【发布时间】:2013-08-13 12:13:15
【问题描述】:

在我的 Jenkins 插件中,此代码用于创建 SVNClientManager 的实例:

final SVNClientManager svnm = SubversionSCM.createSvnClientManager(build.getProject());

它在主服务器上运行良好,但为了支持从服务器,我必须对其进行更改

SubversionSCM.createSvnClientManager(AbstractProject)    

SubversionSCM.createSvnClientManager(ISVNAuthenticationProvider)

根据documentation,这些步骤是获取 ISVNAuthenticationProvider 实例所必需的:

因此,要访问ISVNAuthenticationProvider,需要在master上调用该方法,然后将对象传递给slave,然后在slave上调用SubversionSCM.createSvnClientManager(ISVNAuthenticationProvider)。

但我不知道如何实现它。如何确保在master上调用了一个方法?请提供一个简短的示例(可能基于默认插件“HelloWorldBuilder”)。

【问题讨论】:

    标签: jenkins jenkins-plugins master-slave svnkit


    【解决方案1】:

    经过数小时的测试,我自己发现了它。使用主实例确保您在主实例上调用函数“createAuthenticationProvider”。我把这个功能放在插件的一个单独的方法中:

    private ISVNAuthenticationProvider createAuthenticationProvider(AbstractProject context) {
        return Hudson.getInstance().getDescriptorByType(SubversionSCM.DescriptorImpl.class)
                .createAuthenticationProvider(context);
    }
    

    在插件执行过程中可以通过调用方法生成一个有效的AuthenticationProvider:

    createAuthenticationProvider(build.getProject())
    

    【讨论】:

      猜你喜欢
      • 2021-12-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多