У меня есть изображение dotnet, которое используется в качестве агента для конвейера Jenkins. Теперь я хочу включить сканер сонара в изображение, чтобы я мог запустить анализ и посмотреть, хорошее ли покрытие. Если покрытие не хорошее, то сборка должна завершиться неудачей. Как включить сонарный сканер в мое изображение.
Я попытался включить в мой Dockerfile файл dotnet образа skilldlabs / sonar-scanner. но когда я запустил контейнер, он непосредственно выполнил команды сонарного куба и потерпел неудачу, так как используется адрес сонара по умолчанию.
Ниже мой текущий 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 Scanner 3.3.0.1492
ИНФОРМАЦИЯ: Java 1.8.0_191 Oracle Corporation (64-разрядная версия)
ИНФОРМАЦИЯ: Linux 4.9.125-linuxkit amd64
ИНФОРМАЦИЯ: Кэш пользователя: /root/.sonar/cache
ОШИБКА: сервер SonarQube [http://sonarqube:9000] не может быть достигнут
ИНФОРМАЦИЯ: --------------------------------------------- ---------------------------
ИНФОРМАЦИЯ: СБОЙ ИСПОЛНЕНИЯ
ИНФОРМАЦИЯ: --------------------------------------------- ---------------------------
ИНФОРМАЦИЯ: Общее время: 5,433 с
ИНФОРМАЦИЯ: Окончательная память: 3M / 39M
ИНФОРМАЦИЯ: --------------------------------------------- ---------------------------
ОШИБКА: ошибка во время выполнения сканера SonarQube
ОШИБКА: невозможно выполнить SonarQube
ОШИБКА: Причина: не удалось получить индекс начальной загрузки с сервера
ОШИБКА: вызвано: sonarqube: попробуйте еще раз
ОШИБКА:
ОШИБКА: перезапустите сканер SonarQube, используя ключ -X, чтобы включить полную отладку
регистрация.
Как мне сказать контейнеру предоставить конфигурацию для сонарного сканера?