【问题标题】:Automate generating SVN Tags自动生成 SVN 标签
【发布时间】:2018-06-21 13:58:49
【问题描述】:

我正在通过 JAVA 自动生成 SVN 标签,需要一些建议才能开始。这就是我们手动执行的方式 - 从 SVN repo 中检查一个 maven 项目/插件并运行一组 maven 命令(mvn clean test,mvn release:prepare)来生成 SVN 标签,mvn release:prepare 是运行单元测试、生成标签并将其提交给 SVN 的最终命令,我正在努力使这个过程自动化。

我查看了svnkit api,我可以使用它来将项目签出到本地文件系统并找到一种方法来运行 maven 命令集以生成标签 URL,是否有 maven JAVA 插件通过它我可以触发maven命令?或者除了 JAVA 之外还有更好的方法吗?

我对 svn kit 进行了研究,但找不到任何相关信息来自动化 maven 进程,可能我错过了一些东西。

【问题讨论】:

  • 你已经用 maven-release-plugin 标记了这个问题,所以你使用它吗?

标签: java eclipse maven svn maven-release-plugin


【解决方案1】:

您似乎正在寻找持续集成。 我建议你评估一下Jenkins的使用,可以配置成periodically poll changes from SVNlaunch a Maven build。然后,如果构建成功并且您决定发布它,您可以来自 Jenkins 的perform a Maven release,它会负责调用相应的 Maven 目标。您也可以在 SVN 中 configure a post-commit hook 以便在每次提交后启动构建。

【讨论】:

  • 是的,我完全同意你的观点,Jenkins 是实现 CI 的最佳方式,但我们的组织中有一些遗留流程,现在采用 Jenkins 路线会改变很多事情,并且可能会破坏遗留问题过程,但这已经考虑到了未来。目前是否有 Java Maven API 来执行 Maven 发布?或者我可以使用 SVNKIT 自动创建标签吗?我在 svnkit api 中没有找到任何类似的东西,还通过 svnkit 将项目签出到工作空间并触发 maven 构建似乎效率低下,那么还有其他方法吗?
  • 标签是服务器端的副本(即 URL 到 URL),因此不需要结帐。如果使用命令行 SVN,它将类似于svn copy -m "Create tag" https://svn.example.com/project/trunk https://svn.example.com/project/tags/tag-xyz(您可以将其参数化为脚本)。我认为 svnkit 也应该可以。
猜你喜欢
  • 1970-01-01
  • 2021-07-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多