Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
'';在执行gradlew脚本时,在Jenkins中不被识别为Gradle命令的内部或外部命令_Jenkins_Gradle_Sonarqube_Jenkins Pipeline - Fatal编程技术网

'';在执行gradlew脚本时,在Jenkins中不被识别为Gradle命令的内部或外部命令

'';在执行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

我尝试使用以下代码为Jenkins管道中的Gradle项目运行SonarQube分析:

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)
  • 执行为Windows编写的脚本(
    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
    ,而不使用
    /