2016-11-04 63 views
3

当使用gitlab ci亚军和sbt时,我想避免每次构建时都下载所有的sbt jar文件。有什么办法可以缓存吗?这是我的.gitlab-ci.yml文件,它不能成功缓存.ivy2文件。如何启用.ivy2缓存sbt当使用gitlab ci亚军建立之间

image: openjdk:8-jre-alpine 

services: 
- docker:dind 

variables: 
    SBT_VERSION: "0.13.13" 
    SBT_HOME: "/usr/local/sbt" 
    SBT_JAR: "http://dl.bintray.com/sbt/native- packages/sbt/${SBT_VERSION}/sbt-${SBT_VERSION}.tgz" 

cache: 
    paths: 
    - ~/.ivy2 

stages: 
    - setup 

setup: 
    stage: setup 
    script: 
    - export PATH="${SBT_HOME}/bin:$PATH" 
    - apk --update add bash wget curl tar git 
    - wget ${SBT_JAR} 
    - mkdir /usr/local/sbt 
    - tar -xf sbt-${SBT_VERSION}.tgz -C /usr/local/sbt --strip-components=1 
    - echo -ne "- with sbt sbt-${SBT_VERSION}\n" >> /root/.built 
    - rm sbt-${SBT_VERSION}.tgz 
    - echo "$PATH" 
    - cat /root/.built 
    - ls -als /usr/local/sbt 
    - sbt sbt-version 
    - ls -als ~/.ivy2 

回答

2

假设你正在使用泊坞窗亚军,那么你就需要更新config.toml文件,并进行/root/.ivy2执着与卷

这里是我的:

concurrent = 1 
check_interval = 0 

[[runners]] 
    name = xxx 
    url = yyy 
    token = zzz 
    executor = "docker" 
    [runners.docker] 
    tls_verify = false 
    image = "ruby:2.1" 
    privileged = false 
    disable_cache = false 
    volumes = ["/cache", "/srv/home:/root/" ] 
    [runners.cache]