#google-cloud-platform #sonarqube #google-cloud-build
#google-облачная платформа #сонаркобе #google-cloud-build
Вопрос:
Я пытаюсь использовать sonarqube с cloudbuild, но я получаю сообщение об ошибке «Ваш проект содержит файлы .java, пожалуйста, предоставьте скомпилированные классы со свойством sonar.java.binaries» моему cloubuild.файл yaml приведен ниже.
- id: 'Sonarqube'
name: 'gcr.io/{project-id}/testt:latest'
args:
- '-Dsonar.host.url={url}'
- '-Dsonar.login={login}'
- '-Dsonar.projectKey=m{key}'
- '-Dsonar.qualitygate.wait=true'
- '-Dsonar.sources=.'
- идентификатор: ‘создайте свой экземпляр’
имя: ‘maven:3-jdk-8’
точка входа:
аргументы mvn: [‘clean’,’package’]
Комментарии:
1. Каково содержимое этого контейнера
gcr.io/{project-id}/testt:latest
?2. он содержит изображение sonarqube github.com/GoogleCloudPlatform/cloud-builders-community/tree /…
3. Были ли у вас этапы компиляции запуска перед запуском sonarqube? Я имею в виду, есть ли у вас целевой каталог в вашем рабочем пространстве?
4. да, я скомпилировал его, и целевой каталог создан. Мой код написан на java8, но изображение sonarqube использует java11, может ли это быть проблемой?
5. Да, это сработало, указав целевой путь, спасибо.
Ответ №1:
Сообщение об ошибке довольно четкое. Не меняйте ни одно из существующих свойств, но добавьте параметр для «sonar.java.binaries=target».
Ответ №2:
Как сказано в комментарии и в связи с ошибкой, sonarqube использует только скомпилированные файлы. Используйте ./target
каталог (который содержит скомпилированные файлы .class) вместо корневого каталога (который содержит не скомпилированные файлы Java.