java - 操作失败 : gradle dependencies CircleCi

标签 java android continuous-integration circleci

我已集成 CircleCI 以在我的应用程序上运行 Espresso 测试。我从另一个在线 github 存储库中获取了以下 circle.yml 文件,并将 android 构建工具和 android 版本更改为 25。但是,当我在 circleCI 服务器上运行构建时,出现以下错误。我已经在yml文件中授予了执行权限。

我的应用 repo 结构是

enter image description here

Action failed: gradle dependencies

export TERM="dumb"
if [ -e ./gradlew ]; then ./gradlew dependencies;else gradle dependencies;fi
bash: line 2: ./gradlew: Permission denied

export TERM="dumb"
if [ -e ./gradlew ]; then ./gradlew dependencies;else gradle dependencies;fi
 returned exit code 126

Action failed: gradle dependencies

圆.yml:

general:
    artifacts:
        - /home/ubuntu/MyRideApp/app/build/outputs/apk/

machine:
    environment:
        ANDROID_HOME: /usr/local/android-sdk-linux
        ADB_INSTALL_TIMEOUT: 240
        GRADLE_OPTS: '-Dorg.gradle.jvmargs="-Xmx3072M -XX:+HeapDumpOnOutOfMemoryError"'

dependencies:
    pre:
        - chmod +x gradlew
        - touch app/google-services.json
        - echo y | android update sdk --no-ui --all --filter "tools,android-25,build-tools-25.0.2,platform-tools,extra-android-m2repository,extra-android-support,extra-google-m2repository,extra-google-google_play_services"
    cache_directories:
        - /usr/local/android-sdk-linux/tools
        - /usr/local/android-sdk-linux/build-tools/25.0.2

    override:
            - ANDROID_HOME=/usr/local/android-sdk-linux ./gradlew dependencies

# Comment the test stuff out (or remove it) if you don't need it.
test:
  pre:
    - emulator -avd circleci-android23 -no-audio -no-window:
          background: true
          parallel: true
    - circle-android wait-for-boot
    # unlock emulator
    - sleep 30
    - adb shell input keyevent 82

  override:
#    - ./gradlew clean assemble
    # This will run the tests:
   - ./gradlew assemble connectedDebugAndroidTest -PdisablePreDex --console=plain --info

  post:
      - cp -r app/build/outputs $CIRCLE_ARTIFACTS
      - cp -r app/build/outputs/androidTest-results/connected/ $CIRCLE_TEST_REPORTS

gradle/wrapper/gradle-wrapper.properties

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip

/gradle/wrapper 确实包含 gradle-wrapper.jar

最佳答案

circleCI 论坛上有一个解决方案。 您必须像下面这样添加执行权限:chmod +x gradlew 它对我有用。

这是我的 circleci.yml 的示例:

 machine:
  java:
    version: oraclejdk8

 dependencies:
  override:
    - chmod +x gradlew
    - ./gradlew dependencies
 test:
  override:
    - chmod +x grailsw
    - ./grailsw test-app --non-interactive
  post:
    - mkdir -p $CIRCLE_TEST_REPORTS/junit/
    - find . -type f -regex ".*/target/test-reports/.*xml" -exec cp {} $CIRCLE_TEST_REPORTS/junit/ \;

关于java - 操作失败 : gradle dependencies CircleCi,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43400333/

相关文章:

java - 如何处理无效输入

具有垂直和水平笔划的 Android 手势叠加

android - Android setValue 中的 Firebase 实时数据库无法正常工作

continuous-integration - 为什么 Gallio 似乎需要在名为 GallioBundle-3.1.397.0/bin 的文件夹中才能运行

java - MyBatis Java - 查询不返回数据?

java - java字符串中的intern方法对于STRING CONNECT是不同的

java - 本地开发的 Azure Functions 扩展包版本问题

android - Image Adapter 在没有 Cursor 的情况下动态添加 ImageViews 到 GridView

找不到 Jenkins dotnet 命令

azure - 无法添加 Azure DB 防火墙规则以允许构建服务器运行测试