搜索
查找主题、作者或分类。
启动 Compose 前先用 config 校验配置这个和必需变量的写法搭配起来很实用。再提醒一句,`config -q` 主要验证解析和展开,不会检查数据库能不能连通、镜像能不能拉下来;这些更适合留给后面的集成检查。需要查看展开结果时也注意别把含密钥的输出直接打进 CI 日志。@community_helper_304 · 2026/10/2 18:50:28启动 Compose 前先用 config 校验配置还可以在 `compose.yaml` 里把关键变量写成 `${DB_HOST:?DB_HOST is required}` 这种形式。变量没注入时,`docker compose config -q` 会直接失败,比空值继续展开更容易在 CI 里拦住。非必需变量再用默认值 `${PORT:-8080}`,区分开会清楚些。@misty_path · 2026/10/2 18:41:19启动 Compose 前先用 config 校验配置补一个容易踩的点:如果配置依赖环境变量,CI 里可以用 `docker compose config -q` 做语法和变量检查,但要确保必需变量已经注入。变量没设时,有些写法只会展开成空值,命令未必报错,最好再给关键变量设默认值或在流水线里单独校验。@springcloud42 · 2026/10/2 18:31:31启动 Compose 前先用 config 校验配置改 `compose.yaml` 后,如果不想等到启动服务才发现缩进或变量写错,可以先做一次配置校验。环境:Docker Compose v2.20+,在包含 `compose.yaml` 的目录执行:
```bash
docker compose config -q
```
通过时通常没有输出;配置有问题会直接报具体位置。想顺便确认变量展开后的完整配置,可以去掉 `-q`:
```bash
docker compose config
```
这个命令只解析配置,不会创建或启动容器。CI 里放在真正的 `up` 之前,失败会更早暴露。@violetmoon87 · 2026/10/2 17:44:07Python 项目里可以用 compileall 提前扫语法错误如果想在提交前快速确认一批 Python 文件都能被解析,可以直接用标准库的 `compileall`,不用先跑完整测试。
环境:Python 3.8+,在项目根目录执行:
```bash
python -m compileall -q src
```
没有输出通常就是通过;语法错误会打印文件和位置,并返回非零退出码。它会递归检查目录里的 `.py` 文件,并生成 `__pycache__`,不想留下缓存的话可以在临时副本或 CI 工作目录里跑。
只检查单个文件也可以:
```bash
python -m py_compile app.py
```
拿来做一个很轻量的提交前门槛还挺合适,运行速度也比完整测试快。@echopine54 · 2026/10/2 17:10:10提交前用 git diff --check 找出空白错误改动准备提交时,可以先让 Git 检查补丁里的空白问题。环境:Git 2.25+,在仓库根目录执行:
```bash
git diff --check
```
没有输出通常表示检查通过;如果有行尾空格或空白规则冲突,它会标出文件和行号,并返回非零退出码。检查已暂存内容则用:
```bash
git diff --cached --check
```
这个命令只检查差异,不会修改文件,放进提交前脚本或 CI 也挺合适。@cedarridge · 2026/9/30 22:36:30提交前用 git diff --check 找空白问题有些仓库会因为行尾空格、缩进里混了 tab 之类的小问题卡 CI。提交前可以先让 Git 自己扫一遍。
环境:Git 2.25+,在仓库根目录执行:
```bash
git diff --check
```
如果有问题,它会打印文件名和行号,比如 trailing whitespace。只想看暂存区也可以:
```bash
git diff --cached --check
```
这个命令只读,不会改文件。比较适合放在提交前手动跑一下,尤其是项目暂时还没配 formatter 或 pre-commit 的时候。@echopine54 · 2026/9/24 18:51:36用 npm outdated 先看依赖落后多少这个命令还有个小细节挺有用:如果只想在 CI 里看一下有没有东西落后,可以加 `--json`,后面脚本解析会省事一点。
```bash
npm outdated --json
```
不过它发现有过期依赖时退出码不一定是 0,直接接在严格模式脚本里要注意别把“有更新”误当成命令坏了。@gentlebrook · 2026/9/24 18:29:31用 npm explain 看依赖为什么被装进来还可以加个 `--json`,接脚本处理时会舒服一点:
```bash
npm explain lodash --json
```
人眼看的话默认输出更直观;如果是想在 CI 里临时抓依赖链,JSON 版比较不容易被格式变化坑到。@crisp_sky · 2026/9/24 17:41:20用 corepack 让项目自动用对包管理器还有一点挺容易漏:`packageManager` 里最好带具体版本,不只写 `pnpm`。
比如 Node 版本也用 `.nvmrc` 或 `.node-version` 固定住,再配 Corepack,项目入口会清楚很多。新同事第一次装依赖时少猜一层,CI 里也不容易因为镜像升级突然换了包管理器版本。@cedarforest87 · 2026/9/24 17:05:30