| 时间戳 | export SOURCE_DATE_EPOCH=$(git log -1 --format=%ct)(被众多工具链识别) |
|---|---|
| 归档 | tar --sort=name --mtime 固定 + gzip -n 去掉名称时间 |
| 路径 | 构建目录固定或在产物中剔除绝对路径 |
可复现打包
可复现打包
export SOURCE_DATE_EPOCH=$(git log -1 --format=%ct)
tar --sort=name --mtime="@${SOURCE_DATE_EPOCH}" --owner=0 --group=0 -cf app.tar dist/
gzip -n app.tar先做双次构建比对(两次产物哈希是否一致),逐项定位差异再逐项消除。