Drone-docker-runner 共享宿主机maven缓存

232 字
1 分钟
Drone-docker-runner 共享宿主机maven缓存

Drone 的流水线,在使用 maven 构建的过程中,会下载比较多的 jar 文件,因为用的是 drone-docker-runner,考虑能否使用宿主机上的空间,来缓存这部分 .m2 文件夹,避免每次都重新下载依赖文件,从而加速构建。简单研究了下,实现方式如下

  1. 在流水线对应的 repo 中,进入 Settings,在 General 面板中 开启 Trusted 权限
    image 46
    image 46
  2. 流水线配置语法如下
kind: pipeline
type: docker
name: sonar-scan
steps:
- name: maven-compile
image: maven:3.9.6-eclipse-temurin-21
volumes: # 将容器内目录挂载到宿主机,仓库需要开启Trusted设置
- name: maven-cache # 对应声明好的 volumes.name
path: /root/.m2 # 挂载到容器内的路径
commands:
- mvn clean compile
volumes: # 定义流水线挂载目录,用于共享数据# 从宿主机中挂载的目录
# https://docs.drone.io/pipeline/docker/syntax/volumes/host/
# maven 缓存
- name: maven-cache
host:
path: /home/sephy/.m2 # 在宿主机上的路径

📎 参考文章#

文章分享

如果这篇文章对你有帮助,欢迎分享给更多人!

Drone-docker-runner 共享宿主机maven缓存
https://blog.sephy.top/posts/drone-docker-runner-共享宿主机maven缓存/
作者
虾米
发布于
2024-08-24
许可协议
CC BY-NC-SA 4.0
相关文章智能推荐
1
Drone CI 小试
技术分享每次推送代码到自建的 gitea 之后, 都要手动去 linux 服务器上执行部署脚本, 虽然这个操作一共也就几步(拉取最新代码 → 打包构建 → 生成 docker 镜像 → docker compose 运行), 之前就听说过 Drone CI, 这里假期刚好可以折腾小试一下.
2
在 PVE 上给软路由虚拟机加一个网络 Watchdog
技术分享在 PVE 宿主机上用 Bash 和 systemd timer 实现一个网络 watchdog:先检测公网连通性,连续失败后重启软路由虚拟机,多次自愈无效再升级为重启 PVE 宿主机。
3
命令行自动登录 JumpServer:SSH、TOTP 与密码提示的自动化
技术分享把 JumpServer 登录流程拆成凭据读取和终端交互两层:zsh 从密码管理器安全读取 TOTP seed 与可选密码,expect 只负责响应 SSH 登录过程中的 password 和 Code 提示。
4
git 个人开发工作流
技术分享介绍个人 Git 分支协作流程:以基线分支(如 feature-a)+ 个人开发分支(feature-a-xxx)进行开发,开发分支定期 rebase 同步上游,最终通过 merge(必要时先 squash 整理提交)合回基线;并提供 grebase/gmergebase 等脚本,支持自动推导基线分支、预览计划、带 autostash 的安全 rebase,以及可选 squash/推送/删除分支的安全 merge-back。
5
使用 docker-atrust 连入深信服
技术分享使用 Docker 容器运行深信服 aTrust 客户端,通过 VNC 完成登录,并结合本机 mihomo 配置实现公司内网的 DNS 解析与按域名、IP 的精确代理分流;宿主机暴露 1080 与 8888 端口供 socks5 和 HTTP 代理使用,从而在不安装原生客户端的情况下实现零信任接入并降低对本机的影响。
随机文章随机推荐
Profile Image of the Author
虾米
coder
分类
标签
站点统计
文章
61
分类
4
标签
52
总字数
64,663
运行时长
0
最后活动
0 天前
站点信息
构建平台
GitHub Actions
博客版本
Firefly v6.13.9
文章许可
CC BY-NC-SA 4.0