2017-04-13 5 views
1

CircleCI를 통합하여 내 앱에서 Espresso 테스트를 실행했습니다. 다른 온라인 github repo에서 다음 circle.yml 파일을 가져 와서 android 빌드 도구 및 Android 버전을 25로 변경했습니다. 그러나 circleCl 서버에서 빌드를 실행하면 다음 오류가 발생합니다. yml 파일에서 실행 권한을 부여했습니다.작업 실패 : gradle 종속성 CircleCi

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

,691,363 :

내 응용 프로그램 리포 구조는

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입니다 (210)

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을/래퍼 Gradle을-wrapper.jar에게 해결책이 circleCI 포럼에

+0

이 다소 불분명하다 - 전체'[-e ./gradlew]은 ...'물건은 circle.yml에없는 경우 여기에 붙여 넣었 어. –

+0

나는 웹 사이트의 원형 ci 콘솔에서 직접 가져갔습니다. 스택 트레이스를 어떻게 찾을 수 있습니까? – 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/ \;