【问题标题】:Setting up Artifactory Jenkins plugin via Groovy scripts通过 Groovy 脚本设置 Artifactory Jenkins 插件
【发布时间】:2017-06-12 10:21:13
【问题描述】:

我试图在初始化时通过 Groovy 脚本将 Artifactory 配置添加到 Jenkins,但是出现以下错误

groovy.lang.GroovyRuntimeException: Could not find matching constructor for: org.jfrog.hudson.ArtifactoryServer(java.lang.String, java.lang.String, org.jfrog.hudson.util.Credentials, org.jfrog.hudson.util.Credentials, java.lang.Integer, java.lang.Boolean)

我正在运行的代码如下

Jenkins 版本:2.46.3 Artifactory 插件版本:2.11.0

import jenkins.model.*
import org.jfrog.*
import org.jfrog.hudson.*
import org.jfrog.hudson.util.Credentials;

def inst = Jenkins.getInstance()

def desc = inst.getDescriptor("org.jfrog.hudson.ArtifactoryBuilder")

def deployerCredentials = new Credentials("admin", "password")
def resolverCredentials = new Credentials("", "")

def sinst = [new ArtifactoryServer(
  "server-id",
  "http://localhost:8081/artifactory",
  deployerCredentials,
  resolverCredentials,
  300,
  false )
]

desc.setArtifactoryServers(sinst)

【问题讨论】:

    标签: jenkins groovy artifactory


    【解决方案1】:

    此外,我还找到了一种使用凭据插件的方法

    import java.lang.System
    import hudson.model.*
    import jenkins.model.*
    import org.jfrog.*
    import org.jfrog.hudson.*
    import org.jfrog.hudson.util.Credentials;
    
    def inst = Jenkins.getInstance()
    def artifactoryDesc = inst.getDescriptor("org.jfrog.hudson.ArtifactoryBuilder")
    
    CredentialsConfig deployerCredentials = new CredentialsConfig(new Credentials("credentialID", "credentialID"), "credentialID", false)
    
    println "--> Configuring Artifactory... "
    def ArtInst = [new ArtifactoryServer(
      "artifactiory",
      "https://servername:8443/artifactory",
      deployerCredentials,
      null,
      300,
      false,
      3 )
    ]
    
    artifactoryDesc.setArtifactoryServers(ArtInst)
    artifactoryDesc.setUseCredentialsPlugin(true)
    artifactoryDesc.save()
    println "--> Configuring Artifactory... done"
    

    【讨论】:

    • 谢谢,这很有帮助。顺便说一句,你可以这样做:CredentialsConfig deployerCredentials = new CredentialsConfig("", "", "credentialID", false)
    【解决方案2】:

    我正在寻找相同问题的解决方案,并想通了:

    import jenkins.model.*
    import org.jfrog.*
    import org.jfrog.hudson.*
    import org.jfrog.hudson.util.Credentials;
    
    def inst = Jenkins.getInstance()
    
    def desc = inst.getDescriptor("org.jfrog.hudson.ArtifactoryBuilder")
    
    def deployerCredentials = new CredentialsConfig("admin", "password", "")
    def resolverCredentials = new CredentialsConfig("", "", "")
    
    def sinst = [new ArtifactoryServer(
      "main",
      "http://localhost:8081/artifactory",
      deployerCredentials,
      resolverCredentials,
      300,
      false,
      3 )
    ]
    
    desc.setArtifactoryServers(sinst)
    
    desc.save()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-03
      • 1970-01-01
      • 1970-01-01
      • 2016-06-08
      • 1970-01-01
      相关资源
      最近更新 更多