travis-ci script使用 bash 运行脚本

2022-08-30 23:20:29

我正在尝试设置 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

这是什么原因造成的?


答案 1

解决

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

chmod a+x .travis-phing.sh

然后只需提交,并推送回github。


答案 2

使用 bash 运行脚本

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

bash path/to/file.sh

或者:

sh path/to/file.sh

请注意,

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

有意义?


我自己也发现这个解决方案非常有用。我主要在travis-ci上运行和项目,这些构建利用了你可以配置为任何东西的命令。nodenpmnpm test

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

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


推荐