1

我正在致力于自动化我的项目中从标记到部署的发布过程。我为此创建了一个 java 项目,这将是一个集成所有阶段的地方,从标记、构建 jar 到部署。

现在出于标记和版本控制的目的,我想使用 maven 发布插件,但我可以看到所有 maven 命令都必须通过命令行执行,这使得检查结果和输出变得困难。我觉得可以解决这个问题的一个选项是,如果我可以使用一些 api 执行 maven 命令 [就像我们使用svnkit的那样subversion]。虽然我可以通过命令行通过 java [ Runtime.exec] 执行 maven 命令,但接下来的问题将是检查结果和输出。

关于 maven 的 java 库有什么建议吗?或任何其他做同样事情的方式?我的基本目标是控制我的项目的版本并标记构建。

编辑:

不再支持 Maven 嵌入器:http ://maven.40175.n5.nabble.com/Maven-Embedder-td4708683.html

编辑:

我找到了出路,hudson 提供了一个 maven 发布插件,然后我开发了一个 hudson java 客户端。所以我将能够通过参数控制 Maven 发布。

4

1 回答 1

2

已经有与 maven 相关的解决方案。这是完全支持给定步骤的maven-release-plugin 。

maven-release-plugin的prepare-goal将准确地执行诸如检查所有更改是否已提交并在 svn 中创建标签之类的事情。

那么为什么要通过 Java 来执行它呢?您可以将 Jenkins 用于此类目的,也可以仅使用命令行,例如:

mvn -B release:prepare release:perform

就这样。

于 2013-08-09T06:15:07.210 回答