Jenkins构建失败java.io.IOException:无法运行程序错误=13,权限被拒绝

7kjnsjlb  于 2023-10-17  发布在  Jenkins
关注(0)|答案(1)|浏览(385)

我有一个Jenkins管道,我试图运行一个Gradle测试,它有一个测试需要运行的.sh文件。在运行测试时,它在尝试运行.sh文件的步骤中失败,并出现错误java.io.IOException:无法运行程序“./src/test/resource/TestFiles/myshell.sh“:error=13,Permission denied
我已经尝试添加命令chmod +x在2种方式,但他们似乎都不工作

  1. sh脚本:“chmod +x ./gradlew;./gradlew test”
  2. sh“chmod +x gradle”sh“gradle测试”
    我还补充了:工具{ gradle“gradle-current”}
    对于gradle插件
ef1yzkbh

ef1yzkbh1#

我找到了解决方案,如果有人需要,就把它贴在这里。我不得不更改我的.sh文件的权限,然后将它们推送到我的存储库。步骤:

C:\FilePath>git ls-files --stage
100644 e77de56cc2d1d6434b8b29ae775ik6s2e48c9604 0       foo.sh

模式为0644(不可执行)。我们需要将其更改为0755以使其可执行

C:\FilePath>git update-index --chmod=+x foo.sh

C:\FilePath>git ls-files --stage
100755 e77de56cc2d1d6434b8b29ae775ik6s2e48c9604 0       foo.sh

现在文件是模式0755(可执行)。

C:\Temp\TestRepo>git commit -m "Executable!"
[master (root-commit) 1f7a57a] Executable!
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100755 foo.sh

现在我们有了一个带有单个可执行文件的提交。

相关问题