gpt4 book ai didi

caching - 在构建之间使用 gitlab ci runner 时如何为 sbt 启用 .ivy2 缓存

转载 作者:行者123 更新时间:2023-12-01 16:37:50 25 4
gpt4 key购买 nike

当使用 gitlab ci runner 和 sbt 时,我想避免每次构建时都下载所有 sbt jar 文件。有什么办法可以缓存这个吗?这是我的 .gitlab-ci.yml 文件,它没有成功缓存 .ivy2 文件。

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

最佳答案

假设您使用的是 docker runner,那么您需要更新 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]

关于caching - 在构建之间使用 gitlab ci runner 时如何为 sbt 启用 .ivy2 缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40427591/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com