ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

aube CI部署指南:aube ci冻结安装如何让流水线更快更可靠

aube CI部署指南:aube ci冻结安装如何让流水线更快更可靠 aube CI部署指南aube ci冻结安装如何让流水线更快更可靠【免费下载链接】aubeA fast Node.js package manager项目地址: https://gitcode.com/gh_mirrors/au/aubeTL;DR在 CI 中提交好aube-lock.yaml并批准依赖构建后一条aube ci即可让每次安装都精确复现本地状态。锁文件漂移直接让构建失败而不是悄悄升级依赖配合正确的缓存策略流水线既快又稳。aube 是一款快速、可靠的 Node.js 包管理器。它的aube ci命令专为 CI/CD 流水线设计执行冻结安装frozen lockfile install——先校验提交的锁文件与package.json是否一致再清空node_modules并从锁文件重装全部依赖行为与pnpm ci/npm ci完全兼容。一、开始之前提交锁文件与构建审批 ✅CI 无法做交互式决策所以两条前置规则必须先做好提交锁文件。aube-lock.yaml是法律必须纳入版本管理。aube 还会沿用你仓库中已有的pnpm-lock.yaml、bun.lock、yarn.lock或 npm 锁文件格式详见 docs/package-manager/lockfiles.md。本地完成构建审批。依赖的生命周期脚本install/postinstall 等需要人工审批。在本地用aube ignored-builds和aube approve-builds审阅然后提交生成的工作区 YAML 配置。再配合strictDepBuilds: true未审批的依赖构建会直接让安装失败而不是被静默跳过。更多细节见 docs/security.md。二、aube ci 冻结安装的三步机制 aube ci别名clean-install/install-clean实现位于 crates/aube/src/commands/ci.rs做三件事步骤行为失败后果1️⃣ 校验锁文件锁文件必须存在且与package.json完全同步漂移或缺失 → 硬性报错2️⃣ 清理现场删除整个node_modules/消除上次运行留下的残留—3️⃣ 冻结安装严格按锁文件安装不做任何版本重解析依赖审批未通过 → 报错设计上有两个贴心细节缓存不受影响全局虚拟商店~/.cache/aube/virtual-store/和内容寻址存储store是跨项目缓存aube ci不会清除它们——否则 CI 缓存层就失去意义了。安全兜底删除node_modules时能识别符号链接避免误删链接目标目录里的文件。这些行为都有对应的端到端测试保障参见 test/ci.batsaube ci # 干净的冻结安装 aube run --no-install test # 跳过自动安装检查直接跑测试三、三条安装命令怎么选以及如何用对缓存 命令已有 node_modules锁文件行为aube ci先删除再安装要求提交的新锁文件aube install --frozen-lockfile可复用现有安装要求提交的新锁文件aube install --prod --frozen-lockfile仅装生产依赖要求提交的新锁文件缓存的黄金搭配aube ci会删掉node_modules所以缓存 node_modules aube ci的组合是无效功——缓存会被直接扔掉。要跨任务复用安装请改用aube install --frozen-lockfile# 恢复缓存后的典型任务 aube install --frozen-lockfile # 命中缓存时直接报告 Already up to date零下载零链接 aube run --no-install test缓存键建议覆盖运行系统 架构、Node 与 aube 版本、所有锁文件与package.json的哈希aube store path可打印 store 路径aube doctor显示全部解析路径。用actions/cache自行管理时不要加restore-keys兜底——部分匹配会被误判为已装好造成假成功。workspace 项目记得把每个成员的node_modules都加进缓存路径。完整配方见 docs/package-manager/ci.md。四、容器构建轻量生产依赖的正确打开方式 镜像构建采用两阶段策略按依赖输入先行、应用源码在后的顺序组织缓存层先拷贝锁文件、package.json、workspace 清单、补丁和配置再拷贝源码# 构建阶段保留开发工具 aube install --frozen-lockfile aube run --no-install build # 运行阶段只装运行时依赖 aube install --prod --frozen-lockfile提示根生命周期脚本可能需要源码文件才能执行请先把相关文件拷进镜像workspace 成员包可用aube --filter pkg deploy dir生成可发布的部署目录参考 docs/cli/deploy.md。安装方式见 docs/installation.md。五、CI 报锁文件不同步三步排查 ️这是最常见的 CI 报错原因永远是锁文件和package.json对不上了。本地复现aube install --frozen-lockfile若依赖变更是有意为之运行aube install检查生成的锁文件 diff提交更新后的锁文件重新触发流水线。更多修复手段见 docs/troubleshooting.md。六、aube ci 常用参数速查 参数作用--ignore-scripts跳过根项目与依赖的生命周期脚本--no-frozen-lockfile强制重新解析CI 中慎用--no-optional跳过可选依赖如平台相关的原生模块--fetch-retries N网络拉取失败的重试次数--fetch-timeout MS单次请求超时毫秒--registry URL本次调用临时指定注册表地址完整参数清单见 docs/cli/ci.md。七、相关资源 CI 与容器完整工作流docs/package-manager/ci.md命令行参考docs/cli/ci.md安装方式docs/installation.md锁文件格式说明docs/package-manager/lockfiles.mdaube ci命令实现crates/aube/src/commands/ci.rs行为测试test/ci.bats快速上手docs/getting-started.md记住一句话把锁文件提交好把构建审批做完剩下的交给aube ci——你的流水线会更快也更可靠。【免费下载链接】aubeA fast Node.js package manager项目地址: https://gitcode.com/gh_mirrors/au/aube创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表