Gradle maven 部署程序版本控制
Gradle maven deployer versioning
我们正在使用 Gradle + Maven Plugin
使用以下代码将 jar 文件上传到我们的工件存储库:
uploadArchives {
repositories {
mavenDeployer {
repository(url: <our maven repo URL>)
pom.groupId = 'group1'
pom.version = '???'
pom.artifactId = 'artifact1'
}
}
}
我们在 CI 服务器中设置了一个挂钩,每次推送到主 Git 存储库时都会触发上传。我有两个问题:
提交时自动上传 jar 文件是个好主意吗?缺点是什么?
如何给上传的jar自动添加新的版本号,比如最新版本加一?是否可以从 Maven 存储库中列出工件的所有可用版本?
这基本上不是一个坏主意,但是您需要考虑如何为给定的工件指定依赖项 - 例如如果引入了一些向后不兼容的更改,则上传工件的其他客户端可能会出现问题。因此,使用 +
指定依赖项可能会有问题,并且在每次发布后手动切换版本可能会很累。弄清楚为什么要在每次构建后上传工件是个好主意?也许考虑只从某个分支上传工件
每个 CI 服务器都应该将内部版本号作为环境变量(或系统 属性)传递给正在构建的工件。在自动版本控制中使用这个数字是个好主意。可以从存储库下载版本,但需要完成额外的工作。下载 maven-metadata.xml
(例如 this 一个),解析它,获取最新版本,你就快完成了。
我们正在使用 Gradle + Maven Plugin
使用以下代码将 jar 文件上传到我们的工件存储库:
uploadArchives {
repositories {
mavenDeployer {
repository(url: <our maven repo URL>)
pom.groupId = 'group1'
pom.version = '???'
pom.artifactId = 'artifact1'
}
}
}
我们在 CI 服务器中设置了一个挂钩,每次推送到主 Git 存储库时都会触发上传。我有两个问题:
提交时自动上传 jar 文件是个好主意吗?缺点是什么?
如何给上传的jar自动添加新的版本号,比如最新版本加一?是否可以从 Maven 存储库中列出工件的所有可用版本?
这基本上不是一个坏主意,但是您需要考虑如何为给定的工件指定依赖项 - 例如如果引入了一些向后不兼容的更改,则上传工件的其他客户端可能会出现问题。因此,使用
+
指定依赖项可能会有问题,并且在每次发布后手动切换版本可能会很累。弄清楚为什么要在每次构建后上传工件是个好主意?也许考虑只从某个分支上传工件每个 CI 服务器都应该将内部版本号作为环境变量(或系统 属性)传递给正在构建的工件。在自动版本控制中使用这个数字是个好主意。可以从存储库下载版本,但需要完成额外的工作。下载
maven-metadata.xml
(例如 this 一个),解析它,获取最新版本,你就快完成了。