如何在jenkinsfile中使用artifactory / jfrog上传多个模式文件

时间:2018-04-05 17:01:10

标签: jenkins-pipeline jfrog-cli

我正在尝试使用Jenkins中的Artifactory / Jfrog文件上传多个模式,如.zip和.tar.gz。

这是我的代码

                def uploadSpec = """{
                "files": [
                {
                    "pattern": "(*.zip | *.tar.gz)",
                    "target": "${upload_loc}/${BRANCH_NAME}/",
                    "recursive": "true",
                    "flat": "false",
                    "props": "Version=${Version};Branch=${BRANCH_NAME}"
                }
                ]
                }"""

我尝试了上面的语法,它不适合我,它说0个artifcats发现。如果他们遇到类似的情况,任何人都可以建议。

谢谢和问候 圣

1 个答案:

答案 0 :(得分:5)

您有两个选择:

选项1 - 使用正则表达式来描述您的模式。

在你的例子中,这样的事情应该有效:

    ...
    "pattern": "(.*\.zip|.*\.tar\.gz)",
    "regexp":"true",
    ...

请注意,如果您这样做,则必须添加标记 regexp = true

(我使用this网站来测试我的表情。请注意,你必须检查golang作为你的风格)

选项2 - 在单个规范中使用多个文件(在您的情况下我可能会这样做)。

在你的例子中,这样的事情应该有效:

..."files": [
                {
                    "pattern": "*.tar.gz",
                    "target": "${upload_loc}/${BRANCH_NAME}/",
                    "recursive": "true",
                    "flat": "false",
                    "props": "Version=1"
                },
                {
                    "pattern": "*.zip",
                    "target": "${upload_loc}/${BRANCH_NAME}/",
                    "recursive": "true",
                    "flat": "false",
                    "props": "Version=1"
                }
                ]...