CircleCI权限拒绝运行bash脚本

sam*_*cos 21 bash circleci

我有一个circle.yml这样的文件:

dependencies:
  override:
    - meteor || curl https://install.meteor.com | /bin/sh

deployment:
  production:
    branch: "master"
    commands:
      - ./deploy.sh
Run Code Online (Sandbox Code Playgroud)

当我推送到Github时,我收到错误:

/home/ubuntu/myproject/deploy.sh returned exit code 126

bash: line 1: /home/ubuntu/myproject/deploy.sh: Permission denied Action failed: /home/ubuntu/myproject/deploy.sh
Run Code Online (Sandbox Code Playgroud)

当我运行deploy.sh文件外部的命令(下commands)时,一切运行正常.

circle.yml文件中的所有内容似乎都与CircleCI文档中的示例一致.我做错了什么?

Tom*_*ilt 35

几个可能的问题:

  1. deploy.sh可能没有标记为可执行文件(chmod +x deploy.sh将修复此问题)
  2. deploy.sh的第一行可能不是可运行的shell ...

如果第一个不起作用,我们可以看看deploy.sh的内容吗?


小智 26

我遇到了同样的问题.我将sh添加到命令部分的前面以使其工作.

deployment:
  production:
    branch: "master"
    commands:
      - sh ./deploy.sh
Run Code Online (Sandbox Code Playgroud)

希望这个解决方案可以在未来的某个时间节省每个

  • @eczajk所以请改用`--bash ./ deploy.sh`. (6认同)

Ada*_*ane 9

假设您已经签入了它,请使用此命令将其标记为 git 的可执行文件:

git update-index --chmod=+x script.sh
Run Code Online (Sandbox Code Playgroud)

参考:https : //www.pixelninja.me/make-script-committed-to-git-executable/