【问题标题】:Why when I use github actions CI for a gradle project I face "./gradlew: Permission denied" error?为什么当我将 github 操作 CI 用于 gradle 项目时,我会遇到“./gradlew: Permission denied”错误?
【发布时间】:2020-02-05 12:44:02
【问题描述】:

我有一个非常简单的 gradle 项目,当我设置 GitHub Actions CI 时,我遇到了这个错误:

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.

【问题讨论】:

    标签: gradle github continuous-integration github-actions


    【解决方案1】:

    我找到了答案!

    我只需要更改 git 存储库上的 gradlew 文件权限即可使用此命令使其可执行:

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

    这很简单,但浪费了我的时间!

    【讨论】:

      【解决方案2】:

      要解决此问题,您可能需要在 gradle 之前添加 chmod 操作。喜欢这个:

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

      所以整个工作流程文件可能如下所示:

      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
      

      【讨论】:

      • 现在我被困在这里 ./gradlew: line 1: version: command not found ./gradlew: line 2: oid: command not found size: '8070': No such file
      【解决方案3】:

      只是想提一下即使进行了上述更改,我也可能遇到的另一个潜在问题。

      我错了:

      ./gradle
      

      应该是什么时候

      ./gradlew
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-06-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-05-03
        • 2013-10-20
        • 2019-05-03
        • 2020-09-17
        相关资源
        最近更新 更多