我正在研究新的CI概念证明。我正在使用TFS构建并尝试集成jFrog Artifactory。
我正在尝试在Artifactory存储库中创建一个文件夹结构,如下所示: [repository] / [sub-repository] / [Artifacts Folder] / [Versioned Artifact Folder] / [Versioned Artifact Zip Archive]
我已使用PowerShell在Artifactory登台目录中编写了以下正确结构的脚本: [Artifacts文件夹] \ [Versioned Artifact文件夹] \ [Versioned Artifact Zip存档]
...,最后将我的[Artifacts Folder]压缩到[Artifacts Folder] .zip存档中,以部署到Artifactory存储库中。
现在,尽管jFrog文档指示为此目的在jFrog 1.7中引入了--explode选项,但尝试使用此选项进行上载会返回不正确的使用错误:
2018-10-01T10:21:28.3168258Z运行'C:\ jfrog \ jfrog.exe'rt上载'[Artifactory Staging Directory] \ [Artifacts Folder] \ *''[repository] / [sub-repository] / [Artifacts Folder]'--url = https://www.artifactrepository.xxx.net/artifactory -explode = true --user = ******** --password = ******* * --props ='build.number = [内部编号]; build.name = [内部名称]'
2018-10-01T10:21:28.3168258Z
2018-10-01T10:21:28.3168258Z
2018-10-01T10:21:29.6761967Z错误用法。
2018-10-01T10:21:29.6761967Z
2018-10-01T10:21:29.6761967Z名称:
2018-10-01T10:21:29.6761967Z jfrog rt上传-上传文件
2018-10-01T10:21:29.6761967Z
2018-10-01T10:21:29.6761967Z使用方法:
2018-10-01T10:21:29.6761967Z jfrog rt上传[命令选项] [参数...]
2018-10-01T10:21:29.6761967Z
2018-10-01T10:21:29.6761967Z选项:
2018-10-01T10:21:29.6761967Z --url [可选]人工URL
2018-10-01T10:21:29.6761967Z --user [可选] Artifactory用户名
2018-10-01T10:21:29.6761967Z --password [可选]人工密码
2018-10-01T10:21:29.6761967Z --apikey [可选] Artifactory API密钥
2018-10-01T10:21:29.6761967Z --ssh-key-path [可选] SSH密钥文件路径
2018-10-01T10:21:29.6761967Z --props [可选]形式为“ key1 = value1; key2 = value2,...”的属性列表,将附加到上传的工件上。
2018-10-01T10:21:29.6761967Z --deb [可选]用于Debian软件包,采用发行版/组件/架构的形式。
2018-10-01T10:21:29.6917936Z --recursive [Default:true]如果您不希望在子文件夹中收集工件以上传到Artifactory,则设置为false。
2018-10-01T10:21:29.6917936Z --flat [默认值:true]如果设置为false,则根据文件系统层次结构上载文件。
2018-10-01T10:21:29.6917936Z --regexp [默认值:false]设置为true以使用正则表达式代替通配符表达式来收集要上传的文件。
2018-10-01T10:21:29.6917936Z --threads [默认值:3]要并行上传的工件数量。
2018-10-01T10:21:29.6917936Z --dry-run [默认:false]设置为true以禁用与Artifactory的通信。
2018-10-01T10:21:29.6917936Z
我使用jFrog Artifactory Deployer 2.1.1 TFS构建任务。
此处描述了此命令行选项:https://www.jfrog.com/confluence/display/CLI/CLI+for+JFrog+Artifactory#CLIforJFrogArtifactory-UploadingFiles
但是,似乎我们的TFS服务器上的jFrog.exe无法理解--explode命令行选项。
(注意:我不确定我们的构建服务器上正在运行哪个版本的jFrog.exe;当前正在等待负责团队的详细信息,请紧跟其后。)
是否存在jFrog.exe版本较旧(1.7之前的版本)并且不支持--explode命令选项的问题?如果是这样,还有其他方法可以在保留暂存文件夹结构的同时实现多工件上传吗?
(注意:我应用了--flat = false选项,但暂存文件夹层次结构已保留回到根目录;这也不是必需的。)
感谢您的见解,谢谢您的光临。
答案 0 :(得分:0)
最后,我们可以通过使用占位符来解决缺少'--explode'命令选项的问题:
在jFrog Artifactory Deployer任务中:
工件的路径:[工件文件夹] \(**)\(*)
目标存储库[repository] / [sub-repository] / [Artifacts Folder] / {1} /
以这种方式使用占位符可以根据需要将文件夹结构保留在推送到Artifactory存储库中。