fingerprint-ci-gate 用来把浏览器特征的一致性检查放进构建流程,让改版后的变化有记录可查。它通过 liarjs 扫描浏览器,把结果存成 JSON,再与已确认的基线比较。
这里的指纹是浏览器暴露的一组特征,例如环境信息在不同层面是否一致。原文提供两种检查:分数低于指定门槛时让任务失败,或比较前后扫描中哪些检查改变了状态。环境有固定无法通过的项时,比较变化往往比设一个总分门槛更有用。
基线与后续检查要采用同样的浏览器运行模式,并固定工具版本,否则环境差异或规则更新就可能被误当成代码改动。扫描文件保留为构建产物,基线更新单独提交,才能追查一次变化的原因。
使用需要 Node 22 及以上版本和可运行的 Chromium 环境;容器应保持浏览器沙箱启用。离线扫描只检查 JavaScript 层,不包含网络交叉检查,不能把少测的部分当作已经通过。