Jenkins 权限被拒绝 - 如何更改 IntelliJ Idea 和 Windows 的权限?

Jenkins permission denied - how to change rights from IntelliJ Idea and Windows?

我有一个 Jenkinsfile,以下阶段执行 bash (sh) 脚本:

stage('Prepare') {
    sh 'cd ./bin && ./prepare.sh'
}

Jenkins 阶段失败并产生错误:

14:27:16  + cd ./bin
14:27:16  + ./prepare.sh
14:27:16  /data/jenkins/workspace/repo_J_tmp/durable-8864902e/script.sh: line 1: ./prepare.sh: Permission denied

我使用 IntelliJ Idea 和 Windows。如何改推维权?

Git Bash 中的命令 chmod=+x ./bin/prepare.sh 未注册为更改,因此没有要提交的内容。

需要使用git --update-index和Git Bash,然后通过Windows命令行执行commit。

命令顺序如下(假设安装了Git Bash):

PS C:\Development\repo> bash
user@DESKTOP-ABCDEFG:/mnt/c/Development/repo$ git update-index --chmod=+x ./docs/prepare.sh
user@DESKTOP-ABCDEFG:/mnt/c/Development/repo$ exit
PS C:\Development\repo> git commit -m"Executable Script"

提交已准备好推送(ctrl+shift+kgit push).

另外,注意行分隔符必须是 LR:Unix 和 MacOS 兼容 (\n),否则 /usr/bin/env: ‘bash\r’: No such file or directory 显示为错误。