单元和集成测试多达数千个导致 CI 崩溃?在 GitLab 中利用 parallel:matrix 实现分片并行加速运行
记录由于测试套件运行时间长达半小时阻塞部署的问题,分享将测试分片分发给 4 个 Runner 同时运行的 YAML pipeline 方案。
Category
记录由于测试套件运行时间长达半小时阻塞部署的问题,分享将测试分片分发给 4 个 Runner 同时运行的 YAML pipeline 方案。
吐槽安全漏洞被卡在第三方间接依赖中无法通过常规更新解决的惨剧,分享强制锁死深层嵌套依赖版本的安全拦截手段。
针对底层 C/C++ 动态链接库每次构建耗费十几分钟的问题,分享使用 ccache 缓存编译器输出以及配置 PCH 的构建规则。
分享我们如何将 node_modules 完全打包进单文件以加快 Docker 部署速度,并解决运行时动态 require 不兼容问题的插件配置。
吐槽 Rust 编译一改动就花十分钟的惨状,分享配置 sccache 将编译产物持久化到 MinIO 或 AWS S3 的完整构建脚本。
记录一次 Go 微服务在 Kubernetes 容器里因为未设置 GOMEMLIMIT 导致频繁被系统 OOM 强杀的教训,分享正确的 GC 比例配比。
记录我们在大型 monorepo 中将打包工具从 Webpack 切换到 Rspack (Rust) 时遇到的 Loader 插件不兼容大坑,给出通用脚手架配置。
吐槽大单体 Monorepo 打包导致基础包重复拉取的问题,分享利用 pnpm fetch 先下载 lockfile 依赖的完美 Dockerfile 镜像构建流程。
记录我们部署发布流时,因为依赖项配置错误导致缓存命中率接近零的问题,分享优化 pipeline inputs 边界与缓存存储的配置。
介绍如何使用 Hadolint 检查 Docker 语法违规,并搭配 Trivy 扫描镜像中已存在的 CVE 漏洞元数据的全自动流程。
吐槽 Bash 脚本没有类型、没有标准异常捕获导致出错排查难的惨剧,分享使用 Python subprocess 或 Go cli 开发高安全部署脚本的架构设计。
记录一次生产环境内存无节制爬升最后被 OOM 强杀的惨痛经历,分享如何利用 Chrome DevTools 抓取 heapdump 并排查全局闭包变量的实战。
吐槽直接拉取基础镜像构建导致包拉取过久、容器体积撑爆宿主机的问题,给出 Go/Node 对应的多阶段 Dockerfile 及缓存挂载配置。