ci: 新增发版流水线,构建产物上传 Release 并推送镜像到 ghcr
推送 v 开头的 tag 时自动执行: - frontend: 前端只构建一次(含 vue-tsc 类型检查),产物由各平台共用, 保证所有二进制内嵌的前端完全一致 - build: 交叉编译 linux/windows/darwin 的 amd64 与 arm64 共 5 个目标, 打包时附带 README/LICENSE/docs - release: 汇总产物、生成 checksums.txt、创建 Release(自动生成发布说明) - docker: buildx 构建 amd64+arm64 镜像推送 ghcr,标签按 semver 展开 Dockerfile 改为交叉编译友好:前端与后端构建阶段固定在 BUILDPLATFORM, 用 TARGETARCH 做 Go 交叉编译,避免构建 arm64 镜像时 npm 与 go build 被丢进 QEMU 执行。同时补上 -trimpath。 只使用内置 GITHUB_TOKEN,无需额外 secret。 文档: 新增 docs/release.md,README 补充镜像拉取与二进制下载说明, docker-compose 默认镜像改为 ghcr。 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -31,6 +31,25 @@ docker compose up -d
|
||||
首次启动会在 `./data` 下自动生成 `config.json` 与 `data.db`。
|
||||
打开 `http://localhost:8088`,按引导创建第一个账号即可。
|
||||
|
||||
### 直接拉取镜像
|
||||
|
||||
每次发版会自动构建 `linux/amd64` 与 `linux/arm64` 镜像推送到 GitHub Container Registry:
|
||||
|
||||
```bash
|
||||
docker run -d --name goodbaby -p 8088:8088 -v ./data:/app/data ghcr.io/ssdomei232/goodbaby:latest
|
||||
```
|
||||
|
||||
可用标签:`latest`、`v2.2.0`(完整版本)、`2.2`(次版本)、`2`(主版本)。
|
||||
|
||||
### 下载预编译二进制
|
||||
|
||||
[Releases](https://github.com/ssdomei232/goodBaby/releases) 提供 Linux / Windows / macOS 的 amd64 与 arm64 产物,
|
||||
解压后直接运行即可(前端已内嵌,无需额外部署)。压缩包旁的 `checksums.txt` 可校验完整性:
|
||||
|
||||
```bash
|
||||
sha256sum -c checksums.txt --ignore-missing
|
||||
```
|
||||
|
||||
### 从源码构建
|
||||
|
||||
需要 Go 1.25+ 与 Node.js 20+:
|
||||
@@ -93,6 +112,11 @@ cd web/frontend && npm run dev
|
||||
|
||||
默认 SQLite,可选 PostgreSQL,详见 [docs/database.md](docs/database.md)。
|
||||
|
||||
## 发版
|
||||
|
||||
推送 `v` 开头的 tag 即可自动构建产物、创建 Release 并推送镜像到 ghcr,
|
||||
详见 [docs/release.md](docs/release.md)。
|
||||
|
||||
## 驱动配置
|
||||
|
||||
各驱动的账号 / 规则配置说明见 [docs/](docs/):
|
||||
|
||||
Reference in New Issue
Block a user