047、无头模式与 CI/CD 集成:GitHub Actions 与 GitLab CI
上周五凌晨两点,我被钉钉告警吵醒。生产环境的自动化测试流水线挂了,报错信息只有一行:Error: Failed to launch browser: no usable sandbox!。我盯着屏幕看了三秒,骂了一句——又是CI环境里跑无头浏览器那点破事。
如果你用过Claude Code做自动化任务,一定遇到过类似场景:本地跑得好好的,一上CI就各种翻车。无头模式(headless mode)在CI/CD里不是简单的加个--headless参数就完事,这里面的坑,我踩了不下十次。
无头模式不是你想的那样
很多人以为无头模式就是“看不见浏览器窗口”,其实在CI环境里,无头模式要解决的核心问题是:没有显示设备、没有用户交互、资源极度受限。
Claude Code的无头模式默认走的是Chromium的headless shell,这个玩意儿在Docker容器里跑的时候,缺一堆系统依赖。我见过最离谱的报错是缺libnss3.so,结果排查了半天发现是基础镜像的Debian版本太老。
# 别这样写——只装Chrome不装依赖
订阅专栏 解锁全文

1万+

被折叠的 条评论
为什么被折叠?



