Интеграция sonarqube с cloudbuild

#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.