我正致力于自动化项目中的标记到部署的发布过程。 我已经为此创建了一个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释放。
答案 0 :(得分:2)
已经有与maven关系的解决方案。这是完全支持给定步骤的maven-release-plugin。
maven-release-plugin的prepare-goal将完全执行以下操作:检查是否所有更改都已提交并在svn中创建标记。
那你为什么要通过Java执行呢?您可以将Jenkins用于此类目的,或仅使用命令行:
mvn -B release:prepare release:perform
就是这样。