Плагин [id: 'org.sonarqube', версия: '2.6.2'] не найден - PullRequest
0 голосов
/ 11 июня 2018

В качестве хранилища артефактов мы используем Sonatype Nexus, настроенный с учетными данными в Jenkins, и он отлично работает.Теперь я пытаюсь заставить проект gradle работать как многоотраслевой конвейер jenkins с использованием gradlew, включая сканирование кода sonarqube.
Проблема: при использовании только свойства rootProjekt.name в settings.gradle я получаю эту ошибку:

  • Что пошло не так: плагин [id: 'org.sonarqube', версия: '2.6.2'] не найден ни в одном из следующих источников:

  • Плагины Gradle Core (плагин не находится в пространстве имен 'org.gradle')

  • Хранилища плагинов (не удалось разрешить артефакт плагина 'org.sonarqube: org.sonarqube.gradle.plugin: 2.6.2') Поиск в следующих репозиториях: Центральный репозиторий плагинов Gradle

Плагин sonarqube gradle обнаруживается при использовании веб-интерфейса Nexus, но не gradle внутри конвейера, похоже, он ищет только в хранилище плагинов Gradle Central.При использовании Settings.gradle следующим образом:

pluginManagement {
  repositories {
    maven {
      url "http://nexushost/content/groups/public/"
    }

  }
}

rootProject.name = 'fooBar'

он работает как шарм.Как сказать gradle, что он всегда должен использовать хост nexus sonatype без необходимости настраивать его в settings.gradle для каждого задания?

1 Ответ

0 голосов
/ 12 июня 2018

Вы должны использовать Сценарий инициализации Gradle .

Например, в каждом агенте создайте файл USER_HOME/.gradle/init.d/use-corporate-nexus.gradle с содержимым :

settingsEvaluated { settings ->
    settings.pluginManagement {
        repositories {
            maven {
                url "http://nexushost/content/groups/public/"
            }
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...