'';在执行gradlew脚本时,在Jenkins中不被识别为Gradle命令的内部或外部命令
我尝试使用以下代码为Jenkins管道中的Gradle项目运行SonarQube分析:'';在执行gradlew脚本时,在Jenkins中不被识别为Gradle命令的内部或外部命令,jenkins,gradle,sonarqube,jenkins-pipeline,Jenkins,Gradle,Sonarqube,Jenkins Pipeline,我尝试使用以下代码为Jenkins管道中的Gradle项目运行SonarQube分析: stage('SonarQube') { withGradle { withSonarQubeEnv('SonarQube Env') { bat "./gradlew sonarqube" } } } Gradle插件安装在Jenkins中,但我发现以下错误: 05:15:05 D:\*\*\*\*\*\*>./gradlew son
stage('SonarQube') {
withGradle {
withSonarQubeEnv('SonarQube Env') {
bat "./gradlew sonarqube"
}
}
}
Gradle插件安装在Jenkins中,但我发现以下错误:
05:15:05 D:\*\*\*\*\*\*>./gradlew sonarqube
05:15:05 '.' is not recognized as an internal or external command,
代码中有两个地方不正确。在Windows计算机上,您必须:
/command
→ <代码>\command)gradlew
是Unix脚本,gradlew.bat
是Windows脚本)stage('SonarQube') {
withGradle {
withSonarQubeEnv('SonarQube Env') {
bat '.\\gradlew.bat sonarqube'
}
}
}
默认情况下,Gradle Wtapper提供了两个脚本gardlew
和gradlew.bat
。如果您的项目没有gradlew.bat
文件,请在您的Unix机器上执行/gradlew包装器
。将生成丢失的文件
顺便说一句,当你使用Gradlew包装器时,你不需要Jenkins Gradle插件。如果要为作业提供Gradle安装,则需要该插件,例如:
stage('SonarQube') {
withGradle {
withSonarQubeEnv('SonarQube Env') {
bat "${tool(name: 'toolId', type: 'gradle')}\\bin\\gradle.bat sonarqube"
}
}
}
toolId
必须与Jenkins全局工具配置中使用的标识符一致,例如:gradle-6.X
、gradle-6.8.3
等。这是在Windows主机上吗?如果是,只使用gradlew sonarqube
,而不使用/
。