17

我正在尝试设置 phing 以使用 travis-ci,但我无法让它运行设置脚本来安装所有依赖项。

我的 .travis.yml 文件是:

language: php
php:
  - 5.2
script: ./.travis-phing.sh

在特拉维斯,我得到了错误:

/home/travis/build.sh: line 105: ./.travis-phing.sh: Permission denied

是什么原因造成的?

4

2 回答 2

26

解决了

要设置为执行的脚本。我用了:

chmod a+x .travis-phing.sh

然后简单地提交,然后推回 github。

于 2013-03-22T14:20:01.797 回答
1

使用 bash 运行脚本

另一种选择是使用 bash 运行脚本,这将省略修改文件权限的需要。

bash path/to/file.sh

或者:

sh path/to/file.sh

注意

在这种情况下,您不是在 执行脚本本身,而是在执行 bashsh随后运行脚本。因此脚本不需要是可执行的。

有道理?


我自己发现这个解决方案非常有用。我主要在 travis-ci 上运行node&npm项目,这些构建使用npm test您可以配置为任何内容的命令。

我要修改我需要sudo chmod ...在本地机器上使用的文件权限。但是你不能总是sudo在 travis-ci 上使用。

sh file.sh允许我在本地和 travis-ci 上运行我的测试,而无需手动更新权限。

于 2017-10-19T06:29:22.317 回答