我正在尝试提出一种持续集成模式,其中我们的 Maven 项目仅在满足某些质量阈值时才会部署工件。我们正在使用声纳来运行质量报告,但似乎我必须运行:
mvn clean install sonar:sonar && \
mvn deploy -DskipTests -DskipITs
(或者更确切地说,它相当于单独的 Jenkins 构建步骤)。
这涉及构建代码两次,因此使每个整体构建工作对于持续集成来说太长了。
如果我像这样运行单线:
mvn clean deploy sonar:sonar
在运行 Sonar 之前将工件部署到存储库。在不离开 Maven 的情况下,是否有更好的解决方案?