gpt4 book ai didi

maven - 避免在 GitLab CI 中重复运行 Maven 阶段

转载 作者:行者123 更新时间:2023-12-05 08:07:10 24 4
gpt4 key购买 nike

如果我们在.gitlab-ci.yml中定义这样的阶段:

stages:
- build
- test
- deploy
build:
stage: build
script: mvn -B compile

test:
stage: test
script: mvn -B test

deploy:
stage: deploy
script: mvn -B deploy

这很好用,但有一个问题,即在我们针对阶段运行的每个作业中,都会运行前面的阶段。在上面的示例中,测试阶段将在“测试”和“部署”阶段运行。我认为它没用,会增加额外的流水线运行时间。我知道我可以直接调用插件目标,但这很难维护 pom.xml 文件。有什么好主意吗?

最佳答案

理论上,如果将 Maven 项目拆分为多个模块来执行不同的操作,就可以做到这一点。然后,您可以使用高级 react 器选项恢复构建并使用以下方法处理下一个模块:

maven -rf <module name> <command>

请注意,我说的是理论上的。在实践中,将构建和测试阶段分开在很大程度上是没有意义的,而且很难做到(除非测试阶段实际上是一个集成测试阶段)。这也是付出很多却收获甚微。

有关高级 react 堆选项的更多信息,请参见此处:

https://blog.sonatype.com/2009/10/maven-tips-and-tricks-advanced-reactor-options/

关于maven - 避免在 GitLab CI 中重复运行 Maven 阶段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56899122/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com