Трэвис.в формате YML./gradlew: разрешение отклонено



используя Трэвис 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 .
638   2  

2 ответов:

зависит от exec-разрешение к вашему unix gradlew сценарий.

это можно исправить с помощью команды:

git update-index --chmod=+x gradlew

немного описания, чтобы понять проблему.
Прежде всего, вы можете проверить свои разрешения с помощью:

git ls-tree HEAD

вы увидите:

100644 blob xxxxxxxxxxx gradlew

как вы можете видеть, файл имеет разрешение 644.

исправьте это, установив исполняемый флаг на вашем gradlew файл, меняющий его на 755:

git update-index --chmod=+x gradlew

просто commit и push изменения:

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

такое решение не изменяет разрешение в вашем РЕПО git, а просто изменяет время выполнения разрешения в исполнении.

script:
 - chmod +x ./gradlew build connectedCheck

спасибо всем. Этот код доступен. Основное внимание уделяется chmod +x

Comments

    Ничего не найдено.