代码之家  ›  专栏  ›  技术社区  ›  saint

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

  •  6
  • saint  · 技术社区  · 6 年前

    我正在尝试上传多种模式,如。拉链和。焦油gz在Jenkins中使用Artifactory/Jfrog文件。

    这是我的密码

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

    我尝试了上述语法,但它对我不起作用,它说找到了0个工件。有谁能建议他们是否遇到类似的情况。

    谢谢和问候 圣徒

    1 回复  |  直到 6 年前
        1
  •  12
  •   Ortsigat    6 年前

    您有两种选择:

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

    在您的示例中,类似这样的操作应该有效:

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

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

    (我使用 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"
                    }
                    ]...