zub*_*tik 5 linux file-permissions gradle jenkins gradlew
我在Linux机器(CentOS)上安装了Jenkins,我尝试在主机上构建基于Gradle的项目.我的项目使用Stash
基于Git的存储库作为SCM.
在Jenkins构建作业中,我启用了Clean before checkout
选项.我看到该gradlew
脚本没有可执行权限的检查.所以,我Make gradlew executable
为任务设置了复选框.但我仍然看到问题:
java.io.IOException: Cannot run program "/project/dir/gradlew" (in directory "/project/dir/"): error=13, Permission denied
Run Code Online (Sandbox Code Playgroud)
我检查了gradlew
权限,文件没有可执行文件.
有谁知道如何调试/设置它?
现在,我必须使用addetional构建步骤execute shell script
来设置可执行权限gradlew
.
注1:我使用Use Gradle Wrapper
构建选项而不是Invoke Gradle
因为我在互联网上找到的一些建议.
注意2:我发现make gradlew脚本可执行问题并检查我的Jenkins构建应该包含此修复.我使用Jenkins build 1.581
zub*_*tik 18
让我们假设文件script.sh需要设置可执行位.使用command git ls-tree
以检查文件权限:
C:\views\myproject>git ls-tree HEAD
100644 blob 55c0287d4ef21f15b97eb1f107451b88b479bffe script.sh
Run Code Online (Sandbox Code Playgroud)
如您所见,该文件具有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
#
Run Code Online (Sandbox Code Playgroud)
该文件现已上演.请注意,文件内容不会更改,只会更改元数据.我们必须提交文件以保存更改:
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
Run Code Online (Sandbox Code Playgroud)
git ls-tree
再次运行以查看更改:
C:\views\myproject>git ls-tree HEAD
100755 blob 55c0287d4ef21f15b97eb1f107451b88b479bffe script.sh
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
7636 次 |
最近记录: |