如何使用jf rt upload上传指定文件夹至JFrog Artifactory并打包Zip
JFrog CLI 多文件夹打包上传及指定文件夹上传问题解决
需求1:将多个独立文件夹打包为单个Zip上传
要把/Alpha、/Beta、/Gamma及其内容合并成单个Zip文件上传到Artifactory,使用以下命令即可:
jf rt upload "Alpha/**" "Beta/**" "Gamma/**" My-generic-local/My-rep-folder/target.zip --archive zip --dry-run
- 说明:
**用于匹配文件夹下所有子目录和文件,--archive zip会将指定路径的内容打包为目标位置的target.zip;确认命令逻辑正确后,移除--dry-run执行实际上传。
需求2:仅上传前两个文件夹
有两种可靠实现方式:
方式一:直接指定路径(最直观,避免正则问题)
jf rt upload "Alpha/**" "Beta/**" My-generic-local/My-rep-folder/target.zip --archive zip --dry-run
方式二:正确使用正则表达式(修复你之前的错误)
你之前的命令报错,是因为Windows系统中|属于非法文件名字符,且正则路径模式写法错误。调整后的命令:
jf rt upload "^(Alpha|Beta)/.*$" My-generic-local/My-rep-folder/target.zip --archive zip --dry-run --regexp
- 说明:
^(Alpha|Beta)/.*$会匹配所有以Alpha/或Beta/开头的路径,--regexp参数让CLI按正则规则解析源路径,该写法在Windows和类Unix系统中都能正常运行。
你之前的命令错误原因
命令中的"Alpha|Beta"既不是合法的文件路径,也不是符合JFrog CLI要求的正则模式,Windows系统会将|识别为文件名的一部分,而系统不允许文件名包含该字符,因此抛出「文件名、目录名或卷标语法不正确」的错误。
内容的提问来源于stack exchange,提问作者Lance Short
相关产品推荐
相关产品推荐

