如何配置 maven 以支持这种类型的工作流:
一次性设置调用 maven 对开发人员机器进行一次性设置,例如
- 创建为此应用程序配置的自定义版本的 tomcat
- 在开发人员机器上创建本地 postgres 数据库
- 将样本数据加载到数据库中
- 运行 junit 测试以配置运行应用程序所需的其他资源
集成测试调用 maven 来运行集成测试,它应该执行以下操作
- 创建集成测试数据库
- 设置数据库
- 针对数据库运行命令行集成测试
- 运行包含应用程序的测试版 tomcat
- 运行命令行 junit 测试,测试应用程序公开的 RESTful 服务
Release Build调用 maven 对系统进行发布构建
- 完成集成测试的所有步骤
- 生成用于服务器而非生产的资源和配置
- 将最终结果存放在 git repo 中,提交并将更改推送到生产环境
测试构建调用 maven 对系统进行测试构建
- 执行发布构建的所有步骤,但使用测试服务器配置配置测试发布包
我正在努力解决的主要问题是 maven 有一个单一的构建生命周期,其中包含明确定义的阶段序列,不确定我要构建的工作流是否适合 maven。
可以为这种类型的工作流配置 maven 吗?如果是的话,maven 的主要功能是什么,允许我想使用 maven 的四种主要方式的不同配置?
更新我所说的这个工作流程的意思是,我希望能够做类似的事情
mvn setup
mvn integration
mvn prod-release
mvn test-release
我知道上面的例子看起来像蚂蚁,我是长期的蚂蚁用户和 maven 的总菜鸟。