6

我正在尝试使用 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 found。任何人都可以建议他们是否遇到类似的情况。

感谢和问候圣

4

1 回答 1

12

您有 2 个选项:

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

在您的示例中,这样的事情应该可以工作:

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

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

(我用这个网站来测试我的表达方式。注意你必须检查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"
                }
                ]...
于 2018-04-08T08:26:52.633 回答