maven之我可以将 maven 编译/打包和测试分成两个步骤,而无需不必要地重建 Artifact 吗

me-sa 阅读:10 2024-11-01 17:39:52 评论:0

我有一个大型构建,其中测试有时会阻止创建 Artifact ,因为它们会因模块超时而停止或终止构建。我希望我的构建服务器:

  • 构建和发布 Artifact
  • 运行单元/集成测试

  • 目前,单元和集成测试在每个模块的测试和集成测试阶段以典型的 Maven 方式执行。这对开发人员来说非常有用,但存在构建不足的风险。构建服务器可以通过跳过测试轻松设置构建/发布步骤,我想运行一个仅测试测试,该测试通过仅运行测试的包阶段跳过进程资源。但是,我相当肯定 maven 将再次遍历之前的所有阶段。

    我想通过不必要地重建和重新打包我的 Artifact 来避免延长已经相当长的构建。

    有没有人像这样拆分 maven 构建,以便桌面开发人员从测试集成中受益,而构建服务器/持续集成系统从将有风险的测试推到流程结束时受益,所以我们总是产生 Artifact ?

    我是否试图以错误的方式分解构建,是否应该考虑在一系列较小的组件构建中更改单一的端到端构建?

    谢谢

    彼得

    请您参考如下方法:

    您可以这样做:

  • 您可以运行 maven 并跳过所有测试来安装/部署您的 Artifact
  • 然后你可以再次运行它,但这次只运行测试

  • 像这样:
    mvn install -DskipTests 
    mvn surefire:test failsafe:integration-test 
    

    如果您必须在一个命令行上完成所有这些操作,我相信您可以通过拥有两个配置文件来解决问题。一种跳过测试,一种只运行测试。


    标签:Maven
    声明

    1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

    关注我们

    一个IT知识分享的公众号