如何在Jenkinsfile中将构建部署到其他Artifactory?

时间:2019-11-29 20:36:53

标签: jenkins-pipeline artifactory jfrog-mission-control

我有一个Jenkinsfile,我希望能够根据构建将Maven构建部署到其他工件。例如,如果在我将代码推送到开发分支时触发了Jenkinsfile,我想将构建从开发分支部署到“ maven-dev”工件。我有4个Git分支(dev,preprod,stage,prod),然后有4个不同的Artifactory位置(maven-dev,maven-preprod,maven-stage,maven-prod)。

我的Jenkinsfile中有以下脚本用于构建部署,但是,我需要知道我需要对以下脚本进行哪些更改才能将每个构建(上述)部署到相应的Artifactory位置?

script {
 def server = Artifactory.server('artifacts')
 def rtMaven = Artifactory.newMavenBuild()
 rtMaven.deployer server: server, releaseRepo: 'maven-prod', snapshotRepo: 'maven-dev'
 def buildInfo = rtMaven.run pom: 'pom.xml', goals: 'clean install -DskipTests=true -q -Dartifactory.publish.buildInfo=true'
 buildInfo = Artifactory.newBuildInfo()
 server.publishBuildInfo buildInfo
}

1 个答案:

答案 0 :(得分:0)

您应该将所有Artifactory服务器配置放在“ rtServer”块中。这为此构建定义了一个新的Artifactoruy服务器,您可以通过在“ def server = Artifactory.server('NAME')”行中配置不同的名称来配置不同构建中的不同Artifactory实例,并为其进行适当的配置(存储库名称) ,路径等)。您可以查看此链接以获取更多信息-https://www.jfrog.com/confluence/display/RTF/Declarative+Pipeline+Syntax#DeclarativePipelineSyntax-CreatinganArtifactoryServerInstance