10
votes

Pourquoi lorsque j'utilise des actions github CI pour un projet gradle, je suis confronté à l'erreur "./gradlew: autorisation refusée"?

J'ai un projet de gradle très simple et lorsque je configure GitHub Actions CI, je suis confronté à cette erreur:

Run ./gradlew clean dependencies
  ./gradlew clean dependencies
  shell: /bin/bash -e {0}
  env:
    JAVA_HOME: /opt/hostedtoolcache/Java/8.0.222/x64
    JAVA_HOME_8.0.222_x64: /opt/hostedtoolcache/Java/8.0.222/x64
/home/runner/work/_temp/8f29e484-fbb4-4e29-a02a-679519aec24c.sh: line 1: ./gradlew: Permission denied
##[error]Process completed with exit code 126.


0 commentaires

3 Réponses :


19
votes

J'ai trouvé la réponse!

Je devais juste changer l'autorisation du fichier gradlew sur le référentiel git pour le rendre exécutable à l'aide de cette commande:

git update-index --chmod=+x gradlew
git commit -m "Make gradlew executable"

c'était simple mais a tué mon temps!


0 commentaires

9
votes

Pour résoudre ce problème, vous devrez peut-être ajouter une action chmod avant de gradle un. Comme celui-ci:

name: Java CI

on: [push]

jobs:
  build:

    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v1
    - name: Set up JDK 1.8
      uses: actions/setup-java@v1
      with:
        java-version: 1.8
    - name: Change wrapper permissions
      run: chmod +x ./gradlew
    - name: Build with Gradle
      run: ./gradlew build

Le fichier de flux de travail global peut donc ressembler à ceci:

- name: Change wrapper permissions
  run: chmod +x ./gradlew


0 commentaires

0
votes

Je voulais juste mentionner un autre problème potentiel qui m'est arrivé même si les modifications ci-dessus ont été apportées.

J'ai fait l'erreur de:

./gradlew

quand c'était censé être

./gradle


0 commentaires