Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Gradle maven部署器版本控制_Maven_Jar_Gradle_Continuous Integration - Fatal编程技术网

Gradle maven部署器版本控制

Gradle maven部署器版本控制,maven,jar,gradle,continuous-integration,Maven,Jar,Gradle,Continuous Integration,我们使用Gradle+Maven Plugin将jar文件上传到我们的工件库,使用以下代码段: uploadArchives { repositories { mavenDeployer { repository(url: <our maven repo URL>) pom.groupId = 'group1' pom.version = '???' pom.artifactId = 'art

我们使用
Gradle+Maven Plugin
将jar文件上传到我们的工件库,使用以下代码段:

uploadArchives {
   repositories {
      mavenDeployer {
         repository(url: <our maven repo URL>) 
         pom.groupId = 'group1'
         pom.version = '???'
         pom.artifactId = 'artifact1'
      }
   }
}
uploadArchives{
存储库{
mavenDeployer{
存储库(url:)
pom.groupId='group1'
pom.version='???'
pom.artifactId='artifact1'
}
}
}
我们在CI服务器中设置了一个钩子,每次推送到主Git存储库时都会触发上载。我有两个问题:

  • 在提交时自动上传jar文件是个好主意吗?缺点是什么

  • 我如何给上传的JAR一个自动的新版本号,比如最新版本加上一个?可以列出maven repo中工件的所有可用版本吗

  • >P>这基本上不是一个坏主意,但是你需要考虑如何为给定的工件指定依赖关系。例如,如果引入了一些向后不兼容的更改,上传的工件的其他客户端可能会出现问题。因此,用
    +
    指定依赖关系可能会有问题,每次发布后手动切换版本可能会很累。弄清楚为什么每次构建后都要上传工件是个好主意?可能只考虑从某个分支

    上传工件
  • 每个CI服务器都应将生成编号作为环境变量(或系统属性)传递给正在生成的工件。在自动版本控制中使用这个数字是个好主意。可以从存储库下载版本,但需要做额外的工作。下载
    maven metadata.xml
    (例如one),对其进行解析,获得最新版本,就快完成了


  • 谢谢欧泊,你的回答实际上解决了我们的问题。我们使用的是Jenkins,它有一个BUILD_NUM env变量: