Revert "feat(deployment): add QEMU setup for cross-platform builds and improve Docker Buildx configuration"
This reverts commit 5a7f39726b.
This commit is contained in:
@@ -77,9 +77,7 @@ postgresql+asyncpg://wq_user:YOUR_PASSWORD@10.0.0.30:5432/wq_alpha
|
||||
|
||||
继续使用 `ubuntu-latest` 标签,该标签对应的**实际执行环境**需要 Git、Bash、Node.js 20(checkout v4)、Docker CLI/Buildx、OpenSSH 客户端、tar、base64,并能连接构建机的 Docker daemon。容器模式 Runner 也需要具备这些工具和 Docker 连接能力。
|
||||
|
||||
Runner 需要访问 checkout/QEMU action、基础镜像仓库、依赖源、A 的镜像仓库和 B 的 SSH 端口。`BUILD_PLATFORM` 必须匹配 B:当前 Runner 为 `aarch64`、B 为 `x86_64`,仍应配置 `linux/amd64`(或使用默认值)。
|
||||
|
||||
工作流先通过 `docker/setup-qemu-action` 注册 amd64/arm64 模拟支持,再创建独立的 `docker-container` Buildx 构建器。QEMU 初始化需要构建机的 Docker daemon 允许运行特权容器并注册 binfmt;此操作作用于构建机。日志会显示构建机架构、目标平台和构建器支持的平台。Gitea 中禁用该 action 的 GitHub 缓存功能。前后端均显式使用同一个构建器,成功或失败后清理构建器及临时认证目录,不切换 Runner 原有默认构建器。跨架构模拟通常比同架构构建慢。
|
||||
Runner 需要访问 checkout action、基础镜像仓库、依赖源、A 的镜像仓库和 B 的 SSH 端口。`BUILD_PLATFORM` 必须匹配 B;若与构建机架构不同,需事先在构建机配置对应的跨架构构建能力。
|
||||
|
||||
### B:运行环境
|
||||
|
||||
@@ -103,7 +101,7 @@ sudo install -d -m 700 -o deploy -g deploy /opt/wq-alpha
|
||||
|
||||
`main` push 或手动运行工作流会依次执行:
|
||||
|
||||
1. checkout 当前提交,初始化 QEMU 和独立 Buildx 构建器,按 B 的目标平台构建 backend/web,分别推送到 A 的 Gitea Packages。两个镜像均推送成功才执行 SSH 部署。
|
||||
1. checkout 当前提交,在 Runner 构建 backend/web,分别推送到 A 的 Gitea Packages。两个镜像均推送成功才执行 SSH 部署。
|
||||
2. `scripts/deploy-remote.sh` 严格验证 B 主机公钥,通过同一 SSH 连接传入应用环境变量、生产 Compose 和部署脚本。
|
||||
3. B 为每次尝试创建 `DEPLOY_PATH/releases/<提交 SHA>.<随机后缀>/`,只保存 `compose.production.yaml` 和 `scripts/deploy-production.sh`,无需更新项目源码。
|
||||
4. B 登录 A 的仓库并拉取两个镜像。随后获得 Docker 部署锁,运行新 backend 镜像校验配置和数据库连接。
|
||||
@@ -147,7 +145,7 @@ docker logs --tail=100 wq-alpha-production-web-1
|
||||
|
||||
不要公开含业务信息的日志,普通维护不要使用 `down -v`。发布目录可在确认无需回退后人工清理,不影响 named volumes;数据库备份和恢复在数据库管理端进行。
|
||||
|
||||
配置依据:[Gitea Container Registry](https://docs.gitea.com/usage/packages/container/)、[Docker 跨平台构建](https://docs.docker.com/build/building/multi-platform/)、[QEMU action](https://github.com/docker/setup-qemu-action/tree/v3)、[Docker 登录](https://docs.docker.com/reference/cli/docker/login/)、[Compose pull](https://docs.docker.com/reference/cli/docker/compose/pull/)、[Compose run](https://docs.docker.com/reference/cli/docker/compose/run/)、[Compose up](https://docs.docker.com/reference/cli/docker/compose/up/)。
|
||||
配置依据:[Gitea Container Registry](https://docs.gitea.com/usage/packages/container/)、[Docker 登录](https://docs.docker.com/reference/cli/docker/login/)、[Compose pull](https://docs.docker.com/reference/cli/docker/compose/pull/)、[Compose run](https://docs.docker.com/reference/cli/docker/compose/run/)、[Compose up](https://docs.docker.com/reference/cli/docker/compose/up/)。
|
||||
|
||||
## 5. 1Panel 夜间全量目录同步
|
||||
|
||||
|
||||
Reference in New Issue
Block a user