【问题标题】:Gradle maven deployer versioningGradle Maven 部署程序版本控制
【发布时间】:2015-05-04 13:03:49
【问题描述】:

我们正在使用Gradle + Maven Plugin 使用以下代码将 jar 文件上传到我们的工件存储库:

uploadArchives {
   repositories {
      mavenDeployer {
         repository(url: <our maven repo URL>) 
         pom.groupId = 'group1'
         pom.version = '???'
         pom.artifactId = 'artifact1'
      }
   }
}

我们在 CI 服务器中设置了一个挂钩,每次推送到主 Git 存储库时都会触发上传。我有两个问题:

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

  2. 如何给上传的 jar 一个自动的新版本号,比如最新版本加一个?是否可以列出来自 maven 存储库的工件的所有可用版本?

【问题讨论】:

    标签: maven jar gradle continuous-integration


    【解决方案1】:
    1. 这基本上不是一个坏主意,但是您需要考虑如何为给定工件指定依赖项 - 例如如果引入了一些向后不兼容的更改,则上传的工件的其他客户端可能会出现问题。因此使用+ 指定依赖项可能会出现问题,并且在每次发布后手动切换版本可能会很累。弄清楚为什么要在每次构建后上传工件是个好主意?也许考虑只从某个分支上传工件

    2. 每个 CI 服务器都应该将构建号作为环境变量(或系统属性)传递给正在构建的工件。在自动版本控制中使用这个数字是个好主意。可以从存储库下载版本,但需要完成额外的工作。下载maven-metadata.xml(例如this之一),解析它,获取最新版本,你就差不多完成了。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-01-30
    • 1970-01-01
    • 2014-10-29
    • 2020-03-13
    • 1970-01-01
    • 1970-01-01
    • 2017-04-23
    相关资源
    最近更新 更多