繁体   English   中英

运行Jenkins集成测试而无需使用Maven重建

[英]Running Jenkins integration test without having to rebuild with Maven

我有一些问题,了解Jenkins如何与Maven交互以创建简单的构建pipleines。 例如,假设我想做以下管道:

1 Compile code, run unittest, and package to code.
2 Deploy application to test server.
3 Run integration tests.

这将转化为:

1 mvh clean install
2 deploy.sh
3 mvn verify

对于我的单元测试,我使用surefire并进行集成测试我使用故障保护。 但问题是mvn verify将重新执行整个构建过程。 我想要做的只是运行集成测试,而不是所有导致验证的步骤。 解决这个问题的标准方法是什么?

这样做的方法是使用maven完成所有操作。 默认的maven构建生命周期对于您要执行的每个步骤都有一个阶段: https//maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html

例如,默认生命周期包括以下阶段(有关生命周期阶段的完整列表,请参阅生命周期参考):

验证 - 验证项目是否正确并且所有必要信息都可用

compile - 编译项目的源代码

test - 使用合适的单元测试框架测试编译的源代码。 这些测试不应要求打包或部署代码

package - 获取已编译的代码并将其打包为可分发的格式,例如JAR。

集成测试 - 如有必要,将软件包处理并部署到可以运行集成测试的环境中

验证 - 运行任何检查以验证包是否有效并符合质量标准

install - 将软件包安装到本地存储库中,以便在本地用作其他项目的依赖项

deploy - 在集成或发布环境中完成,将最终包复制到远程存储库以与其他开发人员和项目共享。

因此,您希望将工件部署到测试服务器(步骤2),作为集成测试阶段的一部分。 然后你要做的就是跑

mvn clean install

这将清理然后执行所有构建,运行单元测试,将其打包,部署到集成环境,运行集成测试以及在本地存储库中安装工件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM