Build and smoke-test AutoLibrary as a container
Build and test website container / build (push) Successful in 11m33s

This commit is contained in:
KenanZhu committed 2026-11-04 10:45:57 +08:00
1 parent e7bd715243
commit 9065a0d3cf
9 files changed
+219 -9

No files matched your search

+4 -4
View File
@@ -1,6 +1,6 @@
# 通过 Gitea Actions 部署官网
# 通过 Gitea Actions 部署原生网站服务
推送到网站仓库的 `main` 后,Gitea 把任务交给 Ubuntu 部署机上的专用 Runner。Runner 检出该次提交,使用锁文件安装前端依赖,执行前端构建、`go test ./...` 和启用 CGO 的 Go 编译。每次发布生成独立目录,原子切换 `current`,重启 systemd 服务并检查首页和 `/api/health`。检查失败时自动切回上一发布,并将本次任务标记为失败。
本页用于手动触发原生网站发布。推送触发的镜像构建见 [容器部署说明](container-deployment.md)。在 Gitea Actions 手动运行 `Deploy native AutoLibrary service` 时,任务由具备 `autolibrary-native-deploy` 标签的宿主机 Runner 接收。每次发布生成独立目录,原子切换 `current`,重启 systemd 服务并检查首页和 `/api/health`。检查失败时自动切回上一发布,并将本次任务标记为失败。
## 1. 准备 Ubuntu 部署机
@@ -52,7 +52,7 @@ autolibrary-deploy ALL=(root) NOPASSWD: /usr/bin/systemctl restart autolibrary-w
sudo -u autolibrary-deploy -H sh -c 'cd "$HOME" && gitea-runner register'
```
输入实例地址和仓库级令牌,名称填写 `hk-vps-runner-02`,标签只填写 `linux-amd64-docker-small:host`。冒号前是工作流使用的调度标签,`:host` 使发布脚本能操作宿主机上的网站服务。以同一账号和工作目录运行 `gitea-runner daemon`。可用下面的 systemd unit 持久运行,将 `ExecStart` 与 `PATH` 调整到实际安装位置。
输入实例地址和仓库级令牌,使用独立的原生发布 Runner 名称,标签只填写 `autolibrary-native-deploy:host`。以同一账号和工作目录运行 `gitea-runner daemon`。可用下面的 systemd unit 持久运行,将 `ExecStart` 与 `PATH` 调整到实际安装位置。
```ini
[Unit]
@@ -84,7 +84,7 @@ git remote add origin <Gitea 网站源码仓库的克隆地址>
git push -u origin main
```
在 Gitea 的 Actions 页确认部署任务完成。之后日常发布只需推送 `main`。发布脚本在切换前读取远端 `main`,已过时的任务会跳过部署。生产密钥、数据库、上传目录和 Casdoor 实例数据由部署机保存。
在 Gitea 的 Actions 页手动运行 `Deploy native AutoLibrary service`,选择 `main`,然后确认部署任务完成。发布脚本在切换前读取远端 `main`,已过时的任务会跳过部署。生产密钥、数据库、上传目录和 Casdoor 实例数据由部署机保存。
## 排查和回滚