2017-04-13 12 views
1

CircleCIを統合して、自分のアプリでEspressoテストを実行しました。私は別のオンラインgithubリポジトリから次のcircle.ymlファイルを取得し、アンドロイドのビルドツールとアンドロイドのバージョンを25に変更しました。しかし、私がcircleCIサーバーでビルドを実行すると、次のエラーが発生します。私はymlファイルで実行許可を与えました。アクションが失敗しました:gradle依存関係CircleCi

マイアプリのレポ構造は

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 

circle.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 /ラッパー/ 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の/ラッパーソリューションはcircleCIフォーラム上でのGradle-wrapper.jar

+0

これはやや不明瞭である - 全体の '[-e ./gradlew] ...'ものはcircle.ymlあなたの中に存在しない場合ここにペーストした。 –

+0

私は自分のウェブサイトの円のコンソールから直接取り出しました。私に教えてもらえますか?完全なスタックトレースを見つけるにはどうすればいいですか? – user2498079

+0

どこから実行できるのかわかりません。 CircleCIの結果ページでは、これに対応するステップはどれですか? –

答えて

2

を含んでいます。 次のような実行権限を追加する必要があります。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/ \; 
関連する問題