Jenkins 2.375.2构建Gradle项目失败:gradlew未找到,求解决
解决Jenkins构建Gradle项目时
./gradlew: not found的问题 1. 确认代码仓库中存在Gradle Wrapper文件
首先检查你的Git仓库http://192.168.1.30:7990/scm/jen/spring-boot-microservice.git的master分支根目录,是否包含gradlew、gradlew.bat以及gradle/wrapper目录。如果没有,在本地项目根目录执行以下命令生成Wrapper:
gradle wrapper
将生成的所有相关文件提交并推送到Git仓库。
2. 修复Jenkinsfile中的权限与验证步骤
即使仓库里有gradlew,也可能因为权限不足或路径问题导致找不到。修改Jenkinsfile,添加权限赋予和目录验证步骤:
pipeline { agent any stages { stage('Build Image') { steps { sh "echo 'building..'" git credentialsId: '8f6bc3ab-9ef5-4d89-8e14-4972d63325c5', url: 'http://192.168.1.30:7990/scm/jen/spring-boot-microservice.git', branch: 'master' sh 'ls -la' // 查看当前目录文件,确认gradlew存在 sh 'chmod +x ./gradlew' // 赋予可执行权限 sh './gradlew build' sh 'docker build -t springio/gs-spring-boot-docker .' } } } }
3. 使用Jenkins Gradle插件替代手动调用gradlew
如果你已经在Jenkins中配置了Gradle(如你提供的配图),可以直接用插件执行构建,无需依赖仓库中的gradlew:
pipeline { agent any tools { gradle '你的Gradle配置名称' // 替换为你在Jenkins中配置的Gradle实例名称 } stages { stage('Build Project') { steps { git credentialsId: '8f6bc3ab-9ef5-4d89-8e14-4972d63325c5', url: 'http://192.168.1.30:7990/scm/jen/spring-boot-microservice.git', branch: 'master' gradle tasks: 'build' } } stage('Build Docker Image') { steps { sh 'docker build -t springio/gs-spring-boot-docker .' } } } }
4. 检查Jenkins代理节点环境
- 确保执行构建的Jenkins节点已安装Java运行环境,Gradle依赖Java才能运行。
- 确认Jenkins用户对工作目录有读写和执行权限,避免因权限问题无法访问文件。
内容的提问来源于stack exchange,提问作者Peter Penzov
相关产品推荐
相关产品推荐

