|
| 1 | +# kube-killer 二进制发布说明 |
| 2 | + |
| 3 | +本文档记录一次本地交叉编译产物:平台包路径、校验和与构建元数据。制品默认生成在仓库根目录下的 `dist/`。 |
| 4 | + |
| 5 | +## 本次构建 |
| 6 | + |
| 7 | +| 项 | 值 | |
| 8 | +| --- | --- | |
| 9 | +| 版本(`git describe`) | `v1.0.1-16-g0f7a6b9` | |
| 10 | +| Git commit | `0f7a6b9` | |
| 11 | +| 构建时间(UTC) | `2026-04-17T04:07:19Z` | |
| 12 | +| Go 工具链 | `go1.25.6 darwin/arm64` | |
| 13 | +| 编译选项 | `CGO_ENABLED=0`,`go build -trimpath`,`-ldflags "-s -w -X github.com/p-program/kube-killer/cmd.VERSION=…"`(版本字符串与上表一致,不含前缀 `v`) | |
| 14 | + |
| 15 | +## 制品与 SHA256 |
| 16 | + |
| 17 | +算法:**SHA-256**。下列文件均位于 `dist/`。 |
| 18 | + |
| 19 | +| 平台 | 文件名 | SHA256 | |
| 20 | +| --- | --- | --- | |
| 21 | +| Linux x86_64 | `kube-killer-v1.0.1-16-g0f7a6b9-linux-amd64.tar.gz` | `3bc22bdca960a7e40d2095cd54991ef609352af9a2e1fee02c3a6e383d236dfd` | |
| 22 | +| Linux arm64 | `kube-killer-v1.0.1-16-g0f7a6b9-linux-arm64.tar.gz` | `baef894b5359c57ffbfe92d01654547b358971fa78ed4ea9276e907a9337ed21` | |
| 23 | +| macOS x86_64 | `kube-killer-v1.0.1-16-g0f7a6b9-darwin-amd64.tar.gz` | `4b92e66a3b61a5b815d39e267dd39b18addefef0e5c943570cbc4a6e0db0a7eb` | |
| 24 | +| macOS arm64 | `kube-killer-v1.0.1-16-g0f7a6b9-darwin-arm64.tar.gz` | `3bfeea427b8e998389a93041067a3f0270551edb4175a5144a1c9247d18807fe` | |
| 25 | +| Windows x86_64 | `kube-killer-v1.0.1-16-g0f7a6b9-windows-amd64.zip` | `9b908c120f6a7f4c325557c6e48748d7107ab86c900cae89dd50f2f599276419` | |
| 26 | + |
| 27 | +- **tar.gz**:内含可执行文件 `kube-killer`(类 Unix)。 |
| 28 | +- **zip**:内含 `kube-killer.exe`。 |
| 29 | + |
| 30 | +## 校验示例 |
| 31 | + |
| 32 | +在 `dist/` 中: |
| 33 | + |
| 34 | +```bash |
| 35 | +shasum -a 256 kube-killer-v1.0.1-16-g0f7a6b9-linux-amd64.tar.gz |
| 36 | +``` |
| 37 | + |
| 38 | +预期输出首列为上表对应 SHA256,后接文件名。 |
| 39 | + |
| 40 | +一次性校验全部包(`dist/SHA256SUMS` 与本次构建一致时): |
| 41 | + |
| 42 | +```bash |
| 43 | +cd dist && shasum -c SHA256SUMS |
| 44 | +``` |
| 45 | + |
| 46 | +## 重新生成制品 |
| 47 | + |
| 48 | +在仓库根目录执行(需已安装与 `go.mod` 匹配的 Go): |
| 49 | + |
| 50 | +```bash |
| 51 | +VERSION=$(git describe --tags --always --dirty) |
| 52 | +VERSION_X=${VERSION#v} |
| 53 | +DIST_ROOT=dist |
| 54 | +rm -rf "$DIST_ROOT" && mkdir -p "$DIST_ROOT" |
| 55 | +LDFLAGS="-s -w -X github.com/p-program/kube-killer/cmd.VERSION=${VERSION_X}" |
| 56 | + |
| 57 | +build_one() { |
| 58 | + local goos=$1 goarch=$2 suffix=$3 |
| 59 | + local name="kube-killer-${VERSION}-$suffix" |
| 60 | + local outdir="$DIST_ROOT/build-$suffix" |
| 61 | + mkdir -p "$outdir" |
| 62 | + if [ "$goos" = "windows" ]; then |
| 63 | + GOOS=$goos GOARCH=$goarch CGO_ENABLED=0 go build -trimpath -ldflags "$LDFLAGS" -o "$outdir/kube-killer.exe" . |
| 64 | + (cd "$outdir" && zip -q "../${name}.zip" kube-killer.exe) |
| 65 | + else |
| 66 | + GOOS=$goos GOARCH=$goarch CGO_ENABLED=0 go build -trimpath -ldflags "$LDFLAGS" -o "$outdir/kube-killer" . |
| 67 | + (cd "$outdir" && tar -czf "../${name}.tar.gz" kube-killer) |
| 68 | + fi |
| 69 | + rm -rf "$outdir" |
| 70 | +} |
| 71 | + |
| 72 | +build_one linux amd64 linux-amd64 |
| 73 | +build_one linux arm64 linux-arm64 |
| 74 | +build_one darwin amd64 darwin-amd64 |
| 75 | +build_one darwin arm64 darwin-arm64 |
| 76 | +build_one windows amd64 windows-amd64 |
| 77 | + |
| 78 | +(cd "$DIST_ROOT" && shasum -a 256 kube-killer-*.tar.gz kube-killer-*.zip 2>/dev/null | sort | tee SHA256SUMS) |
| 79 | +``` |
| 80 | + |
| 81 | +重新构建后请同步更新本文件中的版本、时间与哈希列。 |
0 commit comments