问题描述
我一直在使用“ 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 (将#修改为@)