我正在致力于自动化项目中从标记到部署的发布过程。 我为此创建了一个 java 项目,这将是一个集成从标记、构建 jar 到部署的所有阶段的地方。
现在,出于标记和版本控制的目的,我想使用 Maven 发布插件,但我可以看到所有 Maven 命令都必须通过命令行执行,这使得检查结果和输出变得困难。
我认为可以解决此问题的一个选项是我是否可以使用某些 api 执行 Maven 命令 [就像我们有 svnkit
对于 subversion
]。虽然我可以通过java通过命令行执行maven命令[Runtime.exec
] 但话又说回来,问题是检查结果和输出。
关于 maven 的 java 库有什么建议吗?或任何其他方式做同样的事情? 我的基本目标是控制项目的版本并标记构建。
编辑:
不再支持 Maven 嵌入器:http://maven.40175.n5.nabble.com/Maven-Embedder-td4708683.html
编辑:
我找到了出路,hudson提供了一个maven发布插件,然后我开发了一个hudson java客户端。所以我将能够通过参数控制maven发布。
最佳答案
已经有一个与maven相关的解决方案。这是maven-release-plugin它完全支持给定的步骤。
prepare-goal maven-release-plugin 会准确执行诸如检查所有更改是否已提交并在 svn 中创建标签之类的操作。
那么为什么要通过 Java 来执行它呢?您可以使用 Jenkins 来实现此类目的,或者仅使用命令行,例如:
mvn -B release:prepare release:perform
仅此而已。
关于java - 自动化发布和部署过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18140057/