Travis.yml./gradlew: Permiso denegado
Usando Travis CI para un proyecto Android existente llamando a
$ ./gradlew build connectedCheck
Obtengo este error:
/home/travis/build.sh: line 45: ./gradlew: Permission denied
The command "./gradlew build connectedCheck" failed and exited with 126 during .
2 answers
Depende del exec-permission de su script unix gradlew
.
Se puede arreglar usando el comando:
git update-index --chmod=+x gradlew
Un poco de descripción para entender el problema.
En primer lugar, puede verificar sus permisos utilizando:
git ls-tree HEAD
Verás:
100644 blob xxxxxxxxxxx gradlew
Como puede ver, el archivo tiene el permiso 644.
Arreglarlo estableciendo la bandera ejecutable en su archivo gradlew cambiándolo a 755:
git update-index --chmod=+x gradlew
Just commit y empuje los cambios:
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
Una última comprobación ejecutando git ls-tree de nuevo para ver el cambio:
git ls-tree HEAD
Puedes ver:
100755 blob xxxxxxxxxxxxx gradlew
Otra forma de resolver este problema es usar:
before_install:
- chmod +x gradlew
Este tipo de solución no cambia el permiso en tu repositorio git, sino que solo cambia el tiempo de ejecución del permiso en la ejecución.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-01-26 16:02:52
script:
- chmod +x ./gradlew build connectedCheck
Gracias a todos.
Este código está disponible.
El foco principal está en chmod +x
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-10-11 06:40:25