linux – Jenkins`make gradlew executable`选项不会使`gradelw可执行文件

linux – Jenkins`make gradlew executable`选项不会使`gradelw可执行文件,第1张

概述我在 Linux机器(CentOS)上安装了Jenkins,我尝试在主机上构建基于Gradle的项目.我的项目使用基于Stash Git的存储库作为SCM. 在Jenkins构建作业中,我在结帐前启用了Clean选项.我看到gradlew脚本在没有可执行权限的情况下进行了检查.因此,我为该任务设置了Make gradlew executable复选框.但我仍然看到问题: java.io.IOExc 我在 Linux机器(CentOS)上安装了Jenkins,我尝试在主机上构建基于Gradle的项目.我的项目使用基于Stash Git的存储库作为SCM.

在Jenkins构建作业中,我在结帐前启用了Clean选项.我看到gradlew脚本在没有可执行权限的情况下进行了检查.因此,我为该任务设置了Make gradlew executable复选框.但我仍然看到问题:

java.io.IOException: Cannot run program "/project/dir/gradlew" (in directory "/project/dir/"): error=13,Permission denIEd

我检查了gradlew权限,并且该文件没有可执行文件.

有谁知道如何调试/设置它?

现在,我必须使用addetional构建步骤执行shell脚本来为gradlew设置可执行权限.

注意1:我使用Use Gradle Wrapper构建选项而不是Invoke Gradle,因为我在Internet上找到了一些建议.

注意2:我发现make gradlew script executable问题并检查我的Jenkins构建应该包含此修复程序.我使用Jenkins build 1.581

解决方法 让我们假设文件script.sh需要设置可执行位.使用命令git ls-tree检查文件权限:

C:\vIEws\myproject>git ls-tree head100644 blob 55c0287d4ef21f15b97eb1f107451b88b479bffe    script.sh

如您所见,该文件具有644权限(忽略100).我们想将其更改为755:

C:\vIEws\myproject>git update-index --chmod=+x script.shC:\vIEws\myproject>git status# On branch master# Changes to be committed:#   (use "git reset head <file>..." to unstage)##       modifIEd:   script.sh#

该文件现已上演.请注意,文件内容不会更改,只会更改元数据.我们必须提交文件以保存更改:

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

再次运行git ls-tree以查看更改:

C:\vIEws\myproject>git ls-tree head100755 blob 55c0287d4ef21f15b97eb1f107451b88b479bffe    script.sh

Source

总结

以上是内存溢出为你收集整理的linux – Jenkins`make gradlew executable`选项不会使`gradelw可执行文件全部内容,希望文章能够帮你解决linux – Jenkins`make gradlew executable`选项不会使`gradelw可执行文件所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/1030246.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存