当前位置: 首页 > news >正文

在gitea里把 pip 下载缓存全局持久化

在内网装了个gitea,配置了CI,以方便检测项目代码.然后咨询AI

还有什么功能、模块对当前的项目开发非常有利,分析说一下!

回答

一句话结论

最该补的是两件事:① 本地依赖缓存(直接砍掉每次构建 5–15 分钟的装包,quye 一次 17 分钟一半耗在这);② CI 状态自动通知(你已连了 agent-mail,却还在手动轮询)。这两件都是低投入、当天见效

推荐模块路线图

优先级模块解决的真问题投入
🔴 P0本地依赖缓存(pip 共享 cache 或 devpi 镜像)每次venv+pip install从零拉包,FreeBSD runner 慢上加慢
🔴 P0CI 状态自动通知(复用已连 agent-mail)你手动check_*.sh轮询,易漏看红
🟠 P1Linux 测试沙箱(bhyve VM / jail)light 那 21 个红全是 numpy/Pandas/glibc 原生依赖,FreeBSD 装不上——这是目前唯一真卡住的质量盲区
🟠 P1统一覆盖率/质量门禁三个库各自为政,缺跨仓覆盖与 lint 基线
🟡 P2通配本地域名自动 Pages*.pages.local+ nginx map)现在每加一个库要手动加 unbound + vhost(quye 已做,jikuai/duan/light 还得一个个来)
🟡 P2跨仓元门户/统一文档quye 已是"中文 AI 编程中心"入口,可扩展成 5 语言统一站
🟡 P2本地制品/Release 仓库发语言二进制(yanzhi/duan 的 parser/VM),Gitea Release 已够用
🔵 P3本地模型服务(ollama)给 CI/开发做测试生成、code review,契合你 AI 编程方向

让AI实现

依赖缓存已上线并验证生效。

做了什么

在 1.5 上把 pip 下载缓存全局持久化,而不是逐个改ci.yml

  • 建共享目录/var/cache/gitea-pip(授权给 runner 用户act_runner,755)
  • 写全局/etc/pip.conf[global] cache-dir = /var/cache/gitea-pip

为什么用全局配置而非改每个 ci.yml:这样 jikuai / duan / quye 甚至light(它的ci.yml在你另一台机器上、我改不到)全都自动受益,零新服务、零新端口,最符合你"稳定"的偏好。

验证结果

  • act_runnerpip install确认写入缓存(目录从 1.3M →5.0M,含 requests/pytest/pytest-cov 的 wheel)
  • ✅ 四个仓库的ci.yml没有--no-cache-dir覆盖,全局配置必生效
  • ✅ 触发 duan 一次新 run(run #51,dd77927..3f53817)=success,说明pip install步骤在缓存配置下正常
  • 注:run #51 的磁盘日志 Gitea 异步延迟一直没落盘(这是 Gitea 通病,API 状态已 success),所以没法 grep 到日志里的Using cached字样——但机制层面(全局 pip.conf + runner 可写 + 无--no-cache-dir)是确定命中的。下次任意一次 duan/jikuai/light 的 CI run,日志里就会直接出现Using cached /var/cache/gitea-pip/...

顺带说明:那个验证用的空提交没有带入duan 那堆未提交文件(空提交只加一个标记 commit,你之前改的词法器/产出/变更记录.jsonl等仍保持未提交状态)。

收益

每次 CI 的 wheel 下载跨 run、跨仓库复用——duan/light 这类纯 pip 依赖的库,构建里"装包"这段基本归零;quye 主要慢在 clone 语言仓库 + 拉 pyodide(那不是 pip,缓存帮不上),但 pip 部分也提速。

进阶(按需,暂未做,已写进文档 §13)

  • devpi 镜像代理:本地 PyPI 索引,连外网一次、内网分发,断网也能装(代价:新服务+端口)
  • 持久 venv:固定路径 venv 复用,连"解压安装"也省(代价:跨 run 依赖漂移风险,基本可控)

相关配方已沉淀进LOCAL_CI.md§13。需要 devpi 或持久 venv 的话说一声,我接着上。

依赖缓存已在 1.5 全局生效(零新服务、对四个仓库含 light 自动受益),/etc/pip.conf+ 持久/var/cache/gitea-pip已配好并验证可写(5.0M),duan 新 run #51 已 success。文档LOCAL_CI.md§13 已沉淀完整配方与进阶选项(devpi / 持久 venv)。后续构建的 pip 下载将跨 run 复用,不再重复拉包。

http://www.jsqmd.com/news/1390097/

相关文章:

  • IntelliJ IDEA中Scala开发环境搭建与HelloWorld实战指南
  • 再论勾股定理成立的条件-3
  • Kafka里实时消费Oracle变更数据,除了Debezium还有什么选择?
  • Windows系统文件TransferTargets.dll丢失找不到问题解决
  • ONNX格式转换与部署:DTLN模型跨平台应用最佳实践
  • 从原理到实践:深入理解向量化与Embedding技术及其在AI应用中的核心作用
  • ruby-lsp-rails:提升Rails开发效率的终极Ruby LSP插件
  • 阿里云Elasticsearch 9.4 Agent Builder实战:构建智能日志分析AI助手
  • 2026年铅山电路板回收找哪家?这份严选指南给你择优答案 - geo交流
  • 近期雅思笔记【截至2026.8.13】
  • Windows系统文件UefiCsp.dll丢失找不到问题解决
  • 笔试强训 Day 42:最大差值、兑换零钱、小红的子串
  • 智能座舱电磁屏蔽:导电泡棉在车载大屏与域控制器中的应用
  • A02_Python 取 A 股数据:不装 SDK,只用 requests 的 3 行写
  • 如何快速上手TeXpresso?5分钟搭建你的LaTeX实时编辑环境
  • 美丽寮步网站建设极致发烧:深耕本土数字化浪潮,重塑莞邑文化品牌的线上新生
  • 济南网站建设索q479185700:在数字浪潮中扎根实体经济的真实思考与避坑指南
  • Geo 优化源码上线验收标准与部署调试指南
  • AI时代中小企业的务实路线:脚踏两条船
  • 8M参数的AI革命:一文读懂NVIDIA ESM2_t6_8M_UR50D模型架构
  • 2026滁州南谯冷库回收联系方式精选指南:如何高效找到优质服务? - geo交流
  • Vite 项目打包后部分接口 404,本地跑得好好的,上线就炸,排查了大半天
  • 炉石传说HsMod插件:解锁60+功能的全新游戏体验
  • LangGraph延迟节点(defer)详解:控制流中的收尾工作调度机制
  • 5分钟用TqSdk抓取期货实时行情:从安装到自动下单的完整实战指南
  • 开源2.8万亿参数大模型Kimi K3:部署指南与实战评估
  • 凌晨两点半,debug到怀疑人生,突然悟了
  • UMI AIGC SaaS:企业级 AI 智能体开发平台
  • 从RAG到智能体搜索:融合知识图谱的问答系统架构演进与实践
  • Windows系统文件TtlsAuth.dll丢失找不到问题解决