Maven依赖缓存无法在Gitlab Runner上运行



我在这方面花了很多时间,但似乎不起作用。尝试过多个项目。

我们自己托管gitlab runner(通过EKS在AWS上(,由gitlab(SaaS(管理。我希望它缓存maven依赖项。

当我根据参考示例进行配置时:https://gitlab.com/gitlab-org/gitlab-ci-yml/blob/master/Maven.gitlab-ci.yml,它仍然每次都下载所有依赖项。

stages:
- test
- pack
image: maven:3.6.1-jdk-8
variables:
MAVEN_OPTS: "-Dhttps.protocols=TLSv1.2 -Dmaven.repo.local=$CI_PROJECT_DIR/.m2/repository -Dorg.slf4j.simpleLogger.showDateTime=true -Djava.awt.headless=true"
MAVEN_CLI_OPTS: "--batch-mode --errors --fail-at-end --show-version -DinstallAtEnd=true -DdeployAtEnd=true"

cache:
paths:
- .m2/repository

stylecheck_and_test:
stage: test
only:
- tags
- schedulers
- web
- triggers
- branches
script:
- mvn $MAVEN_CLI_OPTS install -Dmaven.test.skip=true
- mvn $MAVEN_CLI_OPTS clean test

也许您只是失败了ci脚本,所以没有创建缓存。

看起来本地repo和缓存路径不匹配,请尝试此操作。

stages:
- test
- pack
image: maven:3.6.1-jdk-8    
variables:
MAVEN_OPTS: "-Dhttps.protocols=TLSv1.2 -Dmaven.repo.local=maven.repository -Dorg.slf4j.simpleLogger.showDateTime=true -Djava.awt.headless=true"
MAVEN_CLI_OPTS: "--batch-mode --errors --fail-at-end --show-version -DinstallAtEnd=true -DdeployAtEnd=true"


cache:
paths:
- maven.repository/
stylecheck_and_test:
stage: test
only:
- tags
- schedulers
- web
- triggers
- branches
script:
- mvn $MAVEN_CLI_OPTS install -Dmaven.test.skip=true
- mvn $MAVEN_CLI_OPTS clean test

最新更新