我们使用Sonatype Nexus作为artefact存储库,在Jenkins中使用凭据进行配置,并且工作正常。
现在,我正在尝试使用gradlew包括sonarqube代码扫描来获得作为jenkins multibranch管道作业运行的gradle项目。
问题:
仅在settings.gradle中使用rootProjekt.name
属性时
我收到这个错误:
出了什么问题:在以下任何来源中找不到插件[id:'org.sonarqube',版本:'2.6.2']:
Gradle核心插件(插件不在'org.gradle'命名空间中)
- 插件存储库(无法解析插件工件'org.sonarqube:org.sonarqube.gradle.plugin:2.6.2')在 以下存储库: Gradle Central Plugin存储库
使用Nexus Web UI时会找到sonarqube gradle插件,但不会通过管道内的gradle找到,似乎它只在Gradle Central Plugin Repository中搜索。 使用Settings.gradle时:
pluginManagement {
repositories {
maven {
url "http://nexushost/content/groups/public/"
}
}
}
rootProject.name = 'fooBar'
它就像一个魅力。 如何告诉gradle它应该总是使用sonatype nexus主机而没有 在settings.gradle中为每个作业配置它?
答案 0 :(得分:0)
您应该使用Gradle init script。
例如,在每个代理中,使用content创建文件USER_HOME/.gradle/init.d/use-corporate-nexus.gradle
:
settingsEvaluated { settings ->
settings.pluginManagement {
repositories {
maven {
url "http://nexushost/content/groups/public/"
}
}
}
}