java - SonarQube Scanner - 插件下载之间的长时间停顿

Maven Sonar 扫描器需要很长时间来下载插件([INFO] Load/download plugins (done) | time=495872ms)大约。每次触发构建时 9 分钟。此外,缓存不工作,因为构建是在云 (Azure DevOps) 上触发的,具有无代理/无服务器架构。有什么解决方案可以缩短构建时间并加快构建速度?

[INFO] User cache: /home/vsts/.sonar/cache
[INFO] SonarQube version: 7.9.1
[INFO] Default locale: "en", source code encoding: "UTF-8"
[INFO] Load global settings
[INFO] Load global settings (done) | time=1097ms
[INFO] Server id: #####-$$xxxxx$$$
[INFO] User cache: /home/vsts/.sonar/cache
[INFO] Load/download plugins
[INFO] Load plugins index
[INFO] Load plugins index (done) | time=211ms
[INFO] Load/download plugins (done) | time=495872ms
[INFO] Loaded core extensions: developer-scanner

最佳答案

您可以构建一个自托管代理来运行管道。这样插件就可以缓存在本地代理机器上。详细步骤引用here创建自托管代理。

您还可以手动下载插件 jar 及其依赖项,并将它们包含在代码库中。然后您可以使用脚本任务在管道中手动安装它们以运行以下命令:参见 here .

mvn install:install-file -Dfile=<path-to-file> -DgroupId=<group-id> -DartifactId=<artifact-id> -Dversion=<version> -Dpackaging=<packaging>

例如:

mvn install:install-file -Dfile=/plugins/sonar-maven-plugin-3.6.0.1398.jar -DgroupId=org.sonarsource.scanner.maven -DartifactId=sonar-maven-plugin -Dversion=3.6.0.1398 -Dpackaging=jar`

mvn install:install-file -Dfile=/plugins/sonar-scanner-api-2.12.0.1661.jar -DgroupId=org.sonarsource.scanner.api -DartifactId=sonar-scanner-api -Dversion=2.12.0.1661 -Dpackaging=jar

您也可以尝试使用 maven-install-plugin在 pom 文件中安装本地 jar。参见 this thread获取更多信息。

https://stackoverflow.com/questions/62594216/

相关文章:

tensorflow - 如何使用 TensorRT 优化您的 TensorFlow 模型?

typescript - 来自 typescript 定义文件的 Webpack 警告

python - Flask 应用程序内存泄漏与 sql 炼金术

reactjs - 在 React 中使用 CDN

java - 将内部 HashMap 类型强制转换为 Map

html - 如何在选择下拉菜单上设置 Font Awesome 图标?

string - 将字符串拆分为最少数量的字符串,其中每个字母重复奇数次

java - Open Api Generator 插件不适用于 Maven

python - 如何使用 slider 同时更新更多的线图?

postgresql - postgres SQL 状态 : 22P02