写点什么

gitlab-runner 构建解决 java 缓存问题

作者:ilinux
  • 2021 年 11 月 10 日
  • 本文字数:984 字

    阅读完需:约 3 分钟

gitlab-runner构建解决java缓存问题

gitlab-runner 配置文件

concurrent = 1check_interval = 0
[session_server] session_timeout = 1800
[[runners]] name = "dockersock" url = "https://gitlab.nolibox.com" token = "nZLKz2KKcRyyx-M-VDxK" executor = "docker" [runners.custom_build_dir] [runners.cache] [runners.cache.s3] [runners.cache.gcs] [runners.cache.azure] [runners.docker] tls_verify = false image = "docker:latest" privileged = true disable_entrypoint_overwrite = false oom_kill_disable = false disable_cache = false # 这个 volume 会在本地的 /root 目录创建一个 m2 目录,用来存储 java 的缓存 volumes = ["/var/run/docker.sock:/var/run/docker.sock", "/root/m2:/root/.m2", "/cache"] pull_policy = ["if-not-present"] shm_size = 0
复制代码

流水线配置

package-maven:  stage: package-mvn  image: maven:3.3.9-jdk-8  tags:  - docker  script:    - echo $BUILD_SHELL    - $BUILD_SHELL    - mv ./target/*.tar.gz ./dockerdns.tar.gz	# 将制品传入到下一个 stage  artifacts:    paths:      - dockerdns.tar.gzbuildkit:  stage: build  tags:  - docker  script:  - mkdir -p ~/.docker  # 以下使用的变量都是在 gitlab 中配置好的,或者是 gitlab 自带的变量  - echo "{\"auths\":{\"https://${CI_REGISTRY}\":{\"username\":\"${CI_REGISTRY_USER}\",\"password\":\"${CI_REGISTRY_PASSWORD}\"}}}" > ~/.docker/config.json  - docker build ./ -t ${CI_REGISTRY_IMAGE}:${CI_COMMIT_REF_SLUG}_${CI_COMMIT_SHORT_SHA}  - docker push ${CI_REGISTRY_IMAGE}:${CI_COMMIT_REF_SLUG}_${CI_COMMIT_SHORT_SHA}  - docker rmi ${CI_REGISTRY_IMAGE}:${CI_COMMIT_REF_SLUG}_${CI_COMMIT_SHORT_SHA}
复制代码

Dockerfile 配置

FROM java:8ENV TZ Asia/ShanghaiENV ENVEN="test"RUN mkdir /app/# copy 上一个制品COPY dockerdns.tar.gz /app/WORKDIR /app/RUN tar -xf /app/dockerdns.tar.gzCMD ["./startup.sh","start","${ENVEN}"]
复制代码

对自己说的话

不知道 .m2 是怎么挂载到目录中去的,可以慢慢追溯,exec 到 gitlab-runner 容器,看看有没有 .m2 目录,exec 到 gitlab-runner-build 构建容器中看看有没有 .m2 总之,耐心点!

发布于: 2 小时前阅读数: 3
用户头像

ilinux

关注

期望 2021.03.29 加入

容器云方向 正在学习Go......

评论

发布
暂无评论
gitlab-runner构建解决java缓存问题