Linux Jenkins'Make gradlew executable'选项不使'gradelw可执行

Linux Jenkins'Make gradlew executable'选项不使'gradelw可执行,linux,jenkins,gradle,file-permissions,gradlew,Linux,Jenkins,Gradle,File Permissions,Gradlew,我在linux机器(CentOS)上安装了Jenkins,并尝试在主主机上构建基于Gradle的项目。我的项目使用基于Git的存储库作为SCM 在Jenkins构建作业中,我启用了签出前清理选项。我看到gradlew脚本在没有可执行权限的情况下被选中。因此,我为任务设置了makegradlew executable复选框。但我仍然看到问题: java.io.IOException: Cannot run program "/project/dir/gradlew" (in directory "

我在linux机器(CentOS)上安装了Jenkins,并尝试在主主机上构建基于Gradle的项目。我的项目使用基于Git的存储库作为SCM

在Jenkins构建作业中,我启用了
签出前清理
选项。我看到
gradlew
脚本在没有可执行权限的情况下被选中。因此,我为任务设置了
makegradlew executable
复选框。但我仍然看到问题:

java.io.IOException: Cannot run program "/project/dir/gradlew" (in directory "/project/dir/"): error=13, Permission denied
我检查了
gradlew
权限,并且该文件在上没有可执行文件

有人知道如何调试/设置它吗

现在,我必须使用附加的构建步骤
executeshell脚本
gradlew
设置可执行权限

注1:我使用
use Gradle Wrapper
build选项,而不是
Invoke Gradle
,因为我在互联网上找到了一些建议


注2:我发现了问题,并检查了我的Jenkins构建是否应该包含此修复。我使用Jenkins build 1.581,假设script.sh文件需要设置可执行位。使用git ls tree命令检查文件权限:

C:\views\myproject>git ls-tree HEAD
100644 blob 55c0287d4ef21f15b97eb1f107451b88b479bffe    script.sh
如您所见,该文件具有644权限(忽略100)。我们想将其更改为755:

C:\views\myproject>git update-index --chmod=+x script.sh
C:\views\myproject>git status
# On branch master
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#       modified:   script.sh
#
再次运行
git ls tree
查看更改:

C:\views\myproject>git commit -m "Changing file permissions"
[master 77b171e] Changing file permissions
 0 files changed, 0 insertions(+), 0 deletions(-)
 mode change 100644 => 100755 script.sh
C:\views\myproject>git ls-tree HEAD
100755 blob 55c0287d4ef21f15b97eb1f107451b88b479bffe    script.sh