我有一个用作 Jenkins 管道代理的 dotnet 映像。现在我想在图像中包含声纳扫描仪,以便我可以运行分析并查看覆盖范围是否良好。如果覆盖范围不好,那么构建应该会失败。如何在我的图像中包含声纳扫描仪。
我尝试在 dotnet 图像的 Dockerfile 中包含 Skilldlabs/sonar-scanner。但是当我运行容器时,它直接执行了声纳立方体命令,但由于使用了默认的 sonarqube 地址而失败。
下面是我当前的 Dockerfile
FROM microsoft/dotnet:2.1-sdk
FROM skilldlabs/sonar-scanner:3.3
COPY some-ca.crt /usr/local/share/ca-certificates
COPY NuGet.Config /build/.nuget/NuGet/
VOLUME [ "/build/sources" ]
WORKDIR /build/sources
当我跑的时候:
docker run --name sonar -it sonar
信息:扫描仪配置文件:/root/sonar-scanner-3.3.0.1492-linux/conf/sonar-scanner.properties
信息:项目根配置文件:无
信息:SonarQube 扫描仪 3.3.0.1492
信息:Java 1.8.0_191 甲骨文公司(64 位)
信息:Linux 4.9.125-linuxkit amd64
信息:用户缓存:/root/.sonar/cache
错误:无法访问 SonarQube 服务器 [ http://sonarqube:9000]
信息:------------------------------------------------ ----------------------
信息:执行失败
信息:------------------------------------------------ ----------------------
信息:总时间:5.433s
信息:最终内存:3M/39M
信息:------------------------------------------------ ----------------------
错误:SonarQube 扫描仪执行期间出错
错误:无法执行 SonarQube
错误:原因:无法从服务器获取引导索引
错误:原因:sonarqube:再试一次
错误:
错误:使用 -X 开关重新运行 SonarQube Scanner 以启用完整的调试日志记录。
如何告诉容器为声纳扫描仪提供配置?