Jenkins管道,将branchname传递给gradle build
多分支jenkins管道调用gradle生成。Jenkins管道,将branchname传递给gradle build,jenkins,gradle,groovy,sonarqube,jenkins-pipeline,Jenkins,Gradle,Groovy,Sonarqube,Jenkins Pipeline,多分支jenkins管道调用gradle生成。需要将分支名称传递给build.gradle中的sonarqube任务: sonarqube { properties { property "sonar.host.url", "https://sonar" property "sonar.projectKey", "com.foo.bar:Foobar" property "sonar.projectName", "com.foo.bar-Foobar" pro
需要将
分支名称
传递给build.gradle中的sonarqube任务:
sonarqube {
properties {
property "sonar.host.url", "https://sonar"
property "sonar.projectKey", "com.foo.bar:Foobar"
property "sonar.projectName", "com.foo.bar-Foobar"
property "sonar.binaries", "build"
property "sonar.branch.name", "${branchname}" <---------------
property "sonar.branch.target", "master"
}
}
输出:
* What went wrong:
A problem occurred evaluating root project 'fooBar'.
> Cannot get property 'branchname' on extra properties extension as it does not exist
* What went wrong:
A problem occurred evaluating root project 'fooBar'.
> Could not get unknown property 'branchname' for root project 'sfrToolbarContract' of type org.gradle.api.Project.
及
输出:
* What went wrong:
A problem occurred evaluating root project 'fooBar'.
> Cannot get property 'branchname' on extra properties extension as it does not exist
* What went wrong:
A problem occurred evaluating root project 'fooBar'.
> Could not get unknown property 'branchname' for root project 'sfrToolbarContract' of type org.gradle.api.Project.
而且:
stage('Sonarscan') {
withSonarQubeEnv('SONAR') {
def branchname = "${BRANCH_NAME}"
bat "gradlew sonarqube --info"
}
}
但管道作业只是挂起。如何将属性从Jenkinsfile传递到gradle build?我认为您可以直接在命令行上传递SonarQube参数:
stage(“声纳扫描”){
使用声纳(“声纳”){
bat“gradlew sonarqube-Dsonar.branch.name=${branch_name}--info”
}
}
重要的是必须安装分支插件,否则您将得到:project reactor验证失败:要使用属性“sonar.branch.name”,分支插件是必需的,但未安装。请参阅分支支持的文档:。