2

我有一堆具有足够依赖关系的项目,以至于想到单击“执行 Maven 发布”并在每个依赖项上手动输入我的 SVN 用户名/密码,自下而上,带来了浓密的拖延迷雾。

所以理想情况下,我会去我在 Jenkins 中的顶级项目,单击一个执行“mvn release:prepare”的按钮,瞧,所有的依赖项和项目本身都会被释放。

我的设置是 Maven3、SVN、Jenkins、Artifactory ......

有没有办法从詹金斯运行“mvn release:prepare”,它会释放家属?有这个插件吗?

如果我尝试在本地运行此命令,我有一个错误:很高兴释放所有依赖项,但是当涉及到释放主项目时,它会在 Artifactory 中查找已发布的依赖项 jar。但当然它们不在那里——它们在我的本地仓库中,但不在 artifactory 的仓库中。我更愿意在构建服务器上执行此操作,因为它不会有我的环境的任何特质。

但是如果没有 jenkins 插件,我怎么能在本地发布,并且仍然让 Artifactory/Jenkins 记录最新版本?

4

2 回答 2

0

[我更新了答案以提供更好的方法]

你有M2Release 插件maven-versions 插件。我不认为你可以轻易地做你想做的事。所以我会写一个这样的脚本:

  • 发布 C(MVN 发布)
  • 更新 A 和 B 中的 C 版本(mvn 版本:use-next-releases)
  • 版本 B(MVN 版本)
  • 更新 A 中的 B 版本(mvn 版本:use-next-releases)
  • 发布 A(MVN 发布)
于 2013-04-10T15:58:13.623 回答
0

我也一直在研究这个。以前我使用 ruby​​ 脚本,然后使用 REST 为 Jenkins 推送构建。当然,设置每个新项目有点痛苦,但它确实有效。维护它是一场噩梦。

前几天我偶然发现了这个。我还没有实现它,但听起来很有希望。当然,我要解决的部分问题是父级拥有每个项目的所有依赖项(呃)。

这是问题集和讨论的链接:

https://groups.google.com/forum/#!msg/jenkinsci-users/4OZsB9LV6nE/YsyqhuMcZQgJ

这是实际插件的链接。可能值得一试。

https://github.com/barchart/barchart-jenkins-cascade-plugin/wiki

于 2015-02-01T23:19:50.287 回答