[英]Setting up Artifactory Jenkins plugin via Groovy scripts
我試圖在初始化時通過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)
此外,我還找到了一種使用憑據插件的方法
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"
我正在尋找相同問題的解決方案,並弄清楚了:
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()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.