web-dev-qa-db-fra.com

Travis.yml ./gradlew: permission refusée

Utilisation de Travis CI pour un appel de projet Android existant)

$ ./gradlew build connectedCheck

Je reçois cette erreur:

/home/travis/build.sh: line 45: ./gradlew: Permission denied
The command "./gradlew build connectedCheck" failed and exited with 126 during .
112
Gabriele Mariotti

Cela dépend de exec-permission à votre script unix gradlew.

Il peut être corrigé en utilisant la commande:

git update-index --chmod=+x gradlew

Une petite description pour comprendre le problème.
Tout d’abord, vous pouvez vérifier vos autorisations en utilisant:

git ls-tree HEAD

Tu verras:

100644 blob xxxxxxxxxxx gradlew

Comme vous pouvez le voir, le fichier a l'autorisation 644.

Corrigez-le en définissant l'indicateur d'exécutable sur votre fichier gradlew en le changeant en 755:

git update-index --chmod=+x gradlew

Juste commettre et pousser les changements:

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

Une dernière vérification exécutant git ls-tree à nouveau pour voir le changement:

git ls-tree HEAD

Tu peux voir:

100755 blob xxxxxxxxxxxxx   gradlew

ne autre façon de résoudre ce problème est d'utiliser:

before_install:
 - chmod +x gradlew

Ce type de solution ne modifie pas l’autorisation dans votre dépôt Git, mais modifie simplement le temps d’exécution de l’autorisation dans l’exécution.

233
Gabriele Mariotti
script:
 - chmod +x ./gradlew build connectedCheck

Merci a tous. Ce code est disponible. L'accent est mis sur chmod +x

4
Allen.Cai