【问题标题】:Jenkins build trying to run sh file, keep getting permissions deniedJenkins构建试图运行sh文件,不断获得权限被拒绝
【发布时间】:2019-12-05 06:01:03
【问题描述】:

我正在尝试运行一个非常简单的 sh 文件,该文件是我添加到我的项目中的,作为我的 Jenkins 构建的一部分。如果重要的话,我正在 Windows 上进行开发,每当构建到运行 sh 文件的行时,我都会不断收到 Permissions denied

为什么会这样?

【问题讨论】:

    标签: shell jenkins sh


    【解决方案1】:

    检查 sh 文件的权限 - 它需要可由运行 Jenkins 构建的用户执行。

    不幸的是,我对 Windows 不是很熟悉,但我知道最近的版本包含一个 Linux shell,所以这里是如何在 Linux 上做到这一点:

    ls -l /path/to/example.sh
    

    将向您展示如下内容:

    -rwxr-xr-x 1 myuser my group         519 Mar  7 14:54 example.sh
    

    输出中的第一列是文件权限,您至少在第一个位置寻找“x”,这意味着它可以由所有者执行(第三列中的值)。

    如果您需要使文件可执行,请运行

    chmod +x /path/to/example.sh
    

    这将使任何用户都可以执行它。这并不总是一个好主意,但文件权限的完整主题在这里有点多;如果你想了解更多,这里是good reference

    【讨论】:

    • 但正如我所说,我是在 Windows 上编写的。那我该怎么做呢?
    • @ChikChak 在执行 sh 脚本之前添加一个命令来更改 sh 文件权限。 chmod +x example.sh
    • @ChikChak, How to create file execute mode permissions in Git on Windows?,或者让你的执行 shell 内联(点调用). example.sh
    • @gareth-bowles,标​​记为已接受,也许您可​​以扩展您的答案以包括“如何检查/设置”?
    猜你喜欢
    • 1970-01-01
    • 2014-02-02
    • 1970-01-01
    • 2013-05-27
    • 1970-01-01
    • 2021-11-02
    • 1970-01-01
    • 2021-10-26
    • 1970-01-01
    相关资源
    最近更新 更多