0

如何使用带有通配符的 curl 命令将工件部署到 Jfrog Artifactory 存储库。
我正在尝试使用 Jenkins 管道脚本中的以下内容,但出现错误。

    stage 'Deploy Aritfacts to Artifactory'

    withCredentials([usernameColonPassword(credentialsId: '<enter credentials ID>', variable: 'password')])     {
            sh "    curl -k -u $password -T ${WORKSPACE}/soureCode/integration/dan-0.0.1-SNAPSHOT.zip "https://<enter artifactory URL>/maven-prereleases-local/com/dan/     "

当您运行构建时,它实际上会生成一个工件 dan-0.0.1-SNAPSHOT.zip,我正在尝试对工件版本使用通配符,而不是使用硬编码版本。但出现如下错误

 curl: Can't open '/bld/workspace/demoPipeline/soureCode/integration/dan-*-SNAPSHOT.zip'!
    curl: try 'curl --help' or 'curl --manual' for more information
Finished: FAILURE                                        
4

2 回答 2

1

你可以使用 Jenkins Artifactory 插件吗?这将使您可以访问允许使用 uploadSpec 的 jfrog cli

def server = Artifactory.server 'artifactory'
def uploadSpec = """{
                      "files": [
                          {
                           "pattern": "${WORKSPACE}/soureCode/integration/dan-*-SNAPSHOT.zip",
                           "target": "maven-prereleases-local/com/dan/"
                          }
                      ]
                    }"""
server.upload(uploadSpec)
于 2018-05-28T06:33:19.593 回答
0

不幸的是 curl 不支持通配符'*',所以你可以做的是搜索文件的文件/位置,然后将它传递给你的 curl 命令

像这样

curl -k -u $password -T $localFilePath $targetFolder/$fileName
于 2018-05-28T05:02:27.530 回答