在脚本化管道(从 SCM 中提取 Jenkinsfile)方法中,我们如何将工件发布到 Artifactory?

In Scripted Pipeline (pulling Jenkinsfile from SCM) approach, how do we publish artifacts to Artifactory?

在脚本化管道(从 SCM 中提取 Jenkinsfile)方法中,我们如何将工件发布到 Artifactory

你应该使用Artifactory Jenkins Plugin。它使用与 Artifactory 相关的对象扩展管道 DSL,例如 Artifactory :D

这是文档中的示例:

def server = Artifactory.server 'my-server-id'

def uploadSpec = """{
  "files": [
    {
      "pattern": "bazinga/*froggy*.zip",
      "target": "bazinga-repo/froggy-files/"
    }
 ]
}"""
server.upload spec: uploadSpec 

在 Jenkins 中安装 Artifactory plugin 后,下面的代码片段帮我解决了问题。

rtUpload (serverId: "server-id",
            failNoOp: true,
            spec:
                    """{
              "files": [
                        {
                          "pattern": "build/libs/*.jar",
                          "target": "libs-release"
                        }
                     ]
            }"""
    )