Travis.yml ./gradlew:权限被拒绝
使用Travis CI进行现有的Android项目调用
$ ./gradlew build connectedCheck
我得到这个错误:
/home/travis/build.sh: line 45: ./gradlew: Permission denied The command "./gradlew build connectedCheck" failed and exited with 126 during .
它取决于你的Unix gradlew
脚本的exec权限 。
可以使用以下命令修复它:
git update-index --chmod=+x gradlew
有一点解释,以了解问题。
首先,您可以使用以下方式检查您的权限:
git ls-tree HEAD
你会看见:
100644 blob xxxxxxxxxxx gradlew
正如你所看到的文件具有644权限。
通过在您的gradlew文件上设置可执行标志将其更改为755来修复它:
git update-index --chmod=+x gradlew
只需提交并推送更改即可:
git commit -m "permission access for travis" [master e80ab1b] gradlew permission access for travis 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 gradlew
最后一次检查再次运行git ls-tree来查看更改:
git ls-tree HEAD
你可以看到:
100755 blob xxxxxxxxxxxxx gradlew
解决这个问题的另一种方法是使用:
before_install: - chmod +x gradlew
这种解决scheme不会改变你的git仓库的权限,只是在执行中改变权限运行时。
script: - chmod +x ./gradlew build connectedCheck
谢谢大家。 此代码可用。 关键在于chmod +x