自动化发布和部署过程

时间:2013-08-09 04:31:26

标签: java maven

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

现在为了标记和版本化目的,我想使用maven release插件,但我可以看到所有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释放。

1 个答案:

答案 0 :(得分:2)

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

maven-release-plugin的prepare-goal将完全执行以下操作:检查是否所有更改都已提交并在svn中创建标记。

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

mvn -B release:prepare release:perform

就是这样。