Travis CIgebruiken voor een bestaand Android-project met de naam
$ ./gradlew build connectedCheck
Ik krijg deze foutmelding:
/home/travis/build.sh: line 45: ./gradlew: Permission denied
The command "./gradlew build connectedCheck" failed and exited with 126 during .
Antwoord 1, autoriteit 100%
Het hangt af van de exec-permissionvan je unix gradlew
-script.
Het kan worden opgelost met het commando:
git update-index --chmod=+x gradlew
Een kleine beschrijving om het probleem te begrijpen.
Allereerst kunt u uw rechten controleren met:
git ls-tree HEAD
Je zult zien:
100644 blob xxxxxxxxxxx gradlew
Zoals je kunt zien heeft het bestand 644 permissies.
Repareer het door de uitvoerbare vlag op je gradlew-bestand in te stellen en te veranderen in 755:
git update-index --chmod=+x gradlew
Bevestig de wijzigingen en druk ze door:
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
Een laatste controle waarbij git ls-tree opnieuw wordt uitgevoerd om de verandering te zien:
git ls-tree HEAD
Je kunt zien:
100755 blob xxxxxxxxxxxxx gradlew
Een andere manier om dit probleem op te lossen is door het volgende te gebruiken:
before_install:
- chmod +x gradlew
Dit soort oplossing verandert de toestemming in je git repo niet, maar verandert alleen de runtime van de toestemming in de uitvoering.
Antwoord 2, autoriteit 2%
script:
- chmod +x ./gradlew build connectedCheck
Bedankt allemaal.
Deze code is beschikbaar.
De belangrijkste focus ligt op chmod +x