Мы используем maven для создания проектов Golang, потому что мы являемся магазином на разных языках, а maven является текущим стандартом для сборок.
Наше первое приложение Go - это набор сервисов, обслуживающих проект Vue.
Файл jenkins вызывает mvn sonar: sonar следующим образом:
stage('Sonar') {
steps {
echo 'Building Sonar'
withSonarQubeEnv('Sonar') {
// requires SonarQube Scanner for Maven 3.2+
withMaven(
maven: 'Maven 3.5.3',
globalMavenSettingsConfig: 'GlobalSettingsRepo',
jdk: 'Java 8 Oracle',
options: [
artifactsPublisher(disabled: true),
jacocoPublisher(disabled: true)]) {
sh 'mvn org.sonarsource.scanner.maven:sonar-maven-plugin:3.4.0.905:sonar -U'
}
}
}
}
Я обновил родительский pom и pom внутри папки Go, добавив:
<dependencies>
<dependency>
<groupId>org.codehaus.mojo</groupId>
<artifactId>sonar-maven-plugin</artifactId>
<version>3.4.0.905</version>
</dependency>
<dependency>
<groupId>org.sonarsource.go</groupId>
<artifactId>sonar-go-plugin</artifactId>
<version>1.0.0.1404</version>
</dependency>
</dependencies>
Я также жестко запрограммировал GOPATH в свою папку Go в переменных окружения. Однако когда я запускаю сборку, сканер сонара сканирует ТОЛЬКО XML-файлы в проекте. Если я запускаю сканер сонара из командной строки, он анализирует код Go и код Vue.
Есть предложения?