我对我们在ci服务器中的设置有疑问。 用于构建应用程序的maven命令在竹子中配置为“mvn install deploy”。
根据我的理解,这将调用“install”之前的所有阶段,然后再次调用所有阶段,直至“deploy”,这意味着我可以在我们的日志中看到,应用程序是构建两次(两次编译,两次测试)等。这也意味着应用程序需要几乎两倍的构建时间。
只需“mvn deploy”即可正确构建应用程序。
我的理解/观察是否正确?
答案 0 :(得分:37)
是的,您所要做的就是查看执行生命周期。
- 验证 - 验证项目是否正确以及所有必要信息 可以
- 编译 - 编译项目的源代码
- test - 使用合适的单元测试来测试编译的源代码 框架。这些测试不应该 要求代码打包或 部署
- package - 获取已编译的代码并将其打包到其distributable中 格式,例如JAR。
- 集成测试 - 必要时处理和部署包 集成测试的环境 可以运行
- 验证 - 运行任何检查以验证包是否有效并符合质量 标准
- 安装 - 将软件包安装到本地存储库中,以用作 在本地其他项目中的依赖
- 部署 - 在集成或发布环境中完成,复制最终版本 打包到远程存储库 与其他开发者分享 项目。
您可以在此处看到安装在部署之前发生。重要的是要知道,当你运行deploy时,maven会运行所有其他阶段然后再说目标。因此,运行安装然后部署将运行安装两次然后单个部署。