如何使用jfrog cli通过组artifactid版本分类器和打包功能将其上传到Artifactory

问题描述

我一直在使用“ mvn deploy”将一组tar.gz文件发布到Artifactory。我给它组,artifactId,版本,包装和分类器,以及要上传文件的路径和文件名,它将文件中的字节与jar / war和pom一起发布到Artifactory Maven 2存储库中。

jar / war和pom通过“ mvn clean deploy”或“ gradle artifactoryPublish”(等)或什至“ jfrog rt mvn“ clean install”放置在此处。后者使用jfrog cli工具运行maven并执行jar / war和pom的发布。前者直接使用maven;中间者使用gradle进行发布。

我一直在发布所有这些文件,以显示在Artifactory内部的同一“文件夹”中。这就是我仍然希望使用jfrog cli工具发生的情况。

每个tar.gz文件都具有相同的组,工件ID和版本,并且还与maven从pom.xml中获得的jar / war和pom属性相同。对于所有tar.gz文件,打包文件均为“ tar.gz”,每个文件都有唯一的分类器,例如dev,test,stage或prod。

现在,我想使用jfrog cli上传tar gz文件而不是maven。然后,我尝试了通过将5个Maven坐标构建到目标存储库路径/文件中来创建的类似内容

jfrog rt upload ~/workspace/target/tmptargz-dev.tar.gz dev-releases/com/myCompany/myTeam/myWAR/0.12.3-d0fa9d2/myWAR-0.12.3-d0fa9d2-config-dev.tar.gz/ '--props=' '--build-name=myWAR' '--build-number=0.12.3-d0fa9d2'

用于构建目标的代码(来自我的Jenkinsfile)如下所示:

String target = "${repoName}/${group}/${artifactId}/${version}/${artifactId}-${version}${classifier}.${packaging}"

但是它仅将“目标”作为一个文件夹(即使我包括了我想要的文件名),并且文件名保持不变,因此我可以从此处下载带有curl的文件

https://artifacts.mycompany.com/artifactory/dev-releases/com/myCompany/myTeam/myWAR/0.12.3-d0fa9d2/myWAR-0.12.3-d0fa9d2-config-dev.tar.gz/tmptargz-dev.tar.gz

请注意,我希望文件名是路径的最后一个组成部分,而临时文件名紧随其后。

问:那我该如何使用5个Maven坐标上传到Artifactory来构建“ jfrog rt upload”命令?是否有比必须先重命名文件更合理的方法

如果很容易使用文件描述符,我将很高兴。或者我们可以将参数放在命令行上。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)