上下文:
我有一个相当大的系统,在层次结构中形成了几个 maven 模块。当我需要开发时,我可以转到根目录并使用特定的配置文件进行构建 -Pdeploy
这样做的问题是,我的整个项目都是构建的(这需要一段时间(,而实际上我只需要构建十几个刚刚部署的轻量级模块。
在部署时,我应该如何提高团队的效率?
基本思想:您不能跳过构建模块,但可以跳过包含的一些插件执行。
通常,您的存储库已经存在构建模块工件,因此一旦运行了以前的构建并且可以从那里提取模块工件,整体速度应该已经更好了。
这个想法是添加一个配置文件设置,该设置根据仅在执行部署配置文件生成时可能要省略的内容定义跳过属性。
<profiles>
<profile>
<id>default</id>
<activation>
<activeByDefault />
</activation>
<properties>
<skip.documentation>false</skip.documentation>
<skip.sign>false</skip.sign>
<skip.sources>false</skip.sources>
<skip.checks>false</skip.checks>
<skip.reports>false</skip.reports>
<skip.installer>false</skip.installer>
</properties>
</profile>
<profile>
<id>deploy</id>
<properties>
<skip.documentation>true</skip.documentation>
<skip.sign>true</skip.sign>
<skip.sources>true</skip.sources>
<skip.checks>true</skip.checks>
<skip.reports>true</skip.reports>
<skip.installer>true</skip.installer>
</properties>
</profile>
</profiles>
你的绒球可能包含
<plugin>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>${version.maven-checkstyle-plugin}</version>
<configuration>
<skip>${skip.checks}</skip>
</configuration>
</plugin>
此方法可以应用于项目 pom 级别(pluginDependencies(,也可以在每个模块中重写。