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

How can I upload multiple pattern files using artifactory/jfrog in jenkinsfile

我正在尝试使用 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。有谁遇到过类似的情况可以给点建议吗

感谢和问候 圣人

您有 2 个选择:

选项 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"
                }
                ]...