加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – Jenkins – 使用通配符执行shell命令

发布时间:2020-12-15 01:05:35 所属栏目:Java 来源:网络整理
导读:我试图让Jenkins执行shell命令,但仍然允许使用通配符.这是我正在尝试做的参考: mvn deploy:deploy-file -Dpackaging=jar -DrepositoryId=snapshots -Durl=http://nexus.example.net/content/repositories/snapshots -DpomFile=Spigot/Spigot-Server/pom.xml

我试图让Jenkins执行shell命令,但仍然允许使用通配符.这是我正在尝试做的参考:

mvn deploy:deploy-file -Dpackaging=jar -DrepositoryId=snapshots -Durl=http://nexus.example.net/content/repositories/snapshots -DpomFile=Spigot/Spigot-Server/pom.xml -Dfile=Spigot/Spigot-Server/target/spigot-*.jar

我需要能够通过上面的命令部署这个jar,因为该项目的git存储库不是由我拥有或操作的,所以我需要能够将它直接部署到我自己的Nexus实例.为了确保它将支持编译jar的所有可能版本,我必须使用外卡.不幸的是,当Jenkins尝试执行命令时,它会逐字地采用通配符.我真的不知道如何解决这个问题,我将不胜感激.谢谢!

最佳答案
如果它是一个简单的单个.jar文件,请尝试:

mvn deploy:deploy-file -Dpackaging=jar -DrepositoryId=snapshots -Durl=http://nexus.example.net/content/repositories/snapshots -DpomFile=Spigot/Spigot-Server/pom.xml -Dfile=$(find Spigot/Spigot-Server/target/ -name 'spigot-*.jar')

如果它是多个文件,那就有点复杂了:

当您想要在同一个(groupId,artifactId,version)下部署多个工件时,使用maven deploy-file参数文件,分类器和类型 – 例如.jar和-sources.jar

即使对于那个用例,语法也有点违反直觉 – 你必须使用file = file1.jar作为第一个工件,然后使用files = file1-sources.jar,file1-test-sources.zip,..其余的,同时使用分类器/分类器(和包装/类型)以相同的方式(位置)指定要上载的每个工件的分类器/类型.

如果您的用例是上载不同版本的工件,则需要为每个版本执行一次maven部署文件调用.

您也可以考虑一些替代方案:

>(取决于有多少工件,以及新工件的出现频率) – 手动将这些工件上传到Nexus
>让Nexus代理另一个为这些工件提供服务的Nexus存储库.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读