首页 > 解决方案 > Jenkins 权限被拒绝 - 如何更改 IntelliJ Idea 和 Windows 的权限?

问题描述

Jenkinsfile在以下阶段执行 bash ( sh) 脚本:

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

詹金斯未能通过阶段产生错误:

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未注册为更改,因此无需提交任何内容。

标签: windowsbashgitjenkins

解决方案


它需要git --update-index与 Git Bash 一起使用,然后通过 Windows 命令行执行提交。

命令序列如下(假设安装了 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显示为错误。


推荐阅读