如何使用jfrogcli使用组artifactid版本分类器和打包上传到artifactory

llycmphe  于 2021-07-08  发布在  Java
关注(0)|答案(0)|浏览(413)

我一直在使用“mvn deploy”向artifactory发布一组tar.gz文件。我给它组、artifactid、版本、打包和分类器以及要上传的文件的路径和文件名,它将文件中的字节发布到artifactorymaven 2repo中,与jar/war和pom一起。
jar/war和pom是由“mvn clean deploy”或“gradle artifactorypublish”(etc)甚至“jfrog rt mvn”clean install放在那里的。后者使用jfrogcli工具运行maven并发布jar/war和pom。前者直接使用maven。中间一个用gradle来发布。
我已经发布了所有这些文件以显示在artifactory中的同一个“文件夹”中。这就是我仍然希望通过jfrogcli工具实现的。
每个tar.gz文件都有相同的组、artifactid和版本,并且这些文件还匹配maven从pom.xml获得的jar/war和pom的相同属性。所有tar.gz文件的打包都是“tar.gz”,每个文件都有一个惟一的分类器,如dev、test、stage或prod。
现在我想使用jfrogcli来上传targz文件,而不是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}"

但它只将“target”作为一个文件夹(即使我包含了我想要的文件名),并保持文件名不变,这样我就可以从这里下载带有 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来构建“jfrogrt upload”命令?有没有比必须先重命名文件更明智的方法?
我很乐意使用一个文件描述符,如果这使它更容易。或者我们可以把参数放在命令行上。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题