2017-03-28 3 views
2

GitLab Runner를 CI로 사용하여 Android 프로젝트를 작성했지만 캐시가 작동하지 않습니다.GitLab 용 GitLab 러너 캐시가 작동하지 않습니다.

여기가 내 .gitlab-ci.yml입니다. https://gist.github.com/daicham/5ac8461b8b49385244aa0977638c3420에서 수정되었습니다.

image: runmymind/docker-android-sdk:latest 
variables: 
    GRADLE_USER_HOME: $CI_PROJECT_DIR/.gradle 
stages: 
    - build 
debug: 
    stage: build 
    script: 
    - set +e 
    - du -sh $CI_PROJECT_DIR/.gradle/wrapper 
    - du -sh $CI_PROJECT_DIR/.gradle/caches 
    - set -e 
    - ./gradlew assembleDebug 
    - mkdir artifacts 
    - cp mobile/build/outputs/apk/*.apk artifacts/ 
    - cp wear/build/outputs/apk/*.apk artifacts/ 
    cache: 
    paths: 
     - .gradle/wrapper/ 
     - .gradle/caches/ 
     - build/ 
     - mobile/build/ 
     - wear/build/ 
    artifacts: 
    name: "project_${CI_JOB_NAME}_${CI_COMMIT_REF_NAME}_${CI_COMMIT_SHA}" 
    expire_in: 2 weeks 
    paths: 
     - artifacts/ 

그리고 로그 :

Running with gitlab-ci-multi-runner 9.0.0 (08a9e6f) 
Using Docker executor with image runmymind/docker-android-sdk:latest ... 
Using docker image sha256:d696fa13188c8d2d121c86cf526201b363c1e34ee7b163d6ce1ab1718f91a5e6 ID=sha256:d696fa13188c8d2d121c86cf526201b363c1e34ee7b163d6ce1ab1718f91a5e6 for predefined container... 
Pulling docker image runmymind/docker-android-sdk:latest ... 
Using docker image runmymind/docker-android-sdk:latest ID=sha256:474ac98077a496f2f71aa22ce4eebcea966c2960a061d4a59babe81ff007009b for build container... 
Running on runner-8ce5d03c-project-72-concurrent-0 via outrage... 
Cloning repository... 
Cloning into '/builds/User/android-project'... 
Checking out 015d01d0 as master... 
Skipping Git submodules setup 
Checking cache for default... 
Successfully extracted cache 
$ set +e 
$ du -sh $CI_PROJECT_DIR/.gradle/wrapper 
du: cannot access '/builds/User/android-project/.gradle/wrapper': No such file or directory 
$ du -sh $CI_PROJECT_DIR/.gradle/caches 
du: cannot access '/builds/User/android-project/.gradle/caches': No such file or directory 
$ set -e 
$ ./gradlew assembleDebug 
Downloading https://services.gradle.org/distributions/gradle-3.4.1-all.zip 
Unzipping /builds/User/android-project/.gradle/wrapper/dists/gradle-3.4.1-all/c3ib5obfnqr0no9szq6qc17do/gradle-3.4.1-all.zip to /builds/User/android-project/.gradle/wrapper/dists/gradle-3.4.1-all/c3ib5obfnqr0no9szq6qc17do 
Set executable permissions for: /builds/User/android-project/.gradle/wrapper/dists/gradle-3.4.1-all/c3ib5obfnqr0no9szq6qc17do/gradle-3.4.1/bin/gradle 
Starting a Gradle Daemon (subsequent builds will be faster) 
Download https://jcenter.bintray.com/com/android/tools/build/gradle/2.3.0/gradle-2.3.0.pom 
(more downloads) 

나는 또한 적극적 등, 캐시 .gradle/ 지정, Gradle을 사용자 홈을 설정 Gradle을 인수를 사용하여 시도했지만, 그들 중 누구도 일했다.

아이디어가 있으십니까?

답변

1

Gitlab < 9.0을 사용하는 경우 캐시를 다른 파이프 라인간에 공유해야한다고 지정하기 위해 추가합니다. 응답

image: runmymind/docker-android-sdk:latest 
variables: 
    GRADLE_USER_HOME: $CI_PROJECT_DIR/.gradle 
stages: 
    - build 
debug: 
    stage: build 
    script: 
    - set +e 
    - du -sh $CI_PROJECT_DIR/.gradle/wrapper 
    - du -sh $CI_PROJECT_DIR/.gradle/caches 
    - set -e 
    - ./gradlew assembleDebug 
    - mkdir artifacts 
    - cp mobile/build/outputs/apk/*.apk artifacts/ 
    - cp wear/build/outputs/apk/*.apk artifacts/ 
    cache: 
    key: $CI_PROJECT_NAME 
    paths: 
     - .gradle/wrapper/ 
     - .gradle/caches/ 
     - build/ 
     - mobile/build/ 
     - wear/build/ 
    artifacts: 
    name: "project_${CI_JOB_NAME}_${CI_COMMIT_REF_NAME}_${CI_COMMIT_SHA}" 
    expire_in: 2 weeks 
    paths: 
     - artifacts/ 
+0

감사하지만 난 @FrederickZhang 당신이 어쨌든 시도 할 수 GitLab 9.0.2 –

+0

을 사용하고 있습니다 :

cache에서 key: $CI_PROJECT_NAME를 추가하려고? 'cache : key'에 대한 새로운'default' 속성은 약간의 의문을 남깁니다 – rpadovani

+0

그냥 시도했지만 운이 없다 ...; ( –

관련 문제