feat(ci): 迁移到 hk runner + Release 产物分发,解除对 doc79 runner 的依赖
- 两个工作流 runs-on 改为 hk(在线);Go/Node 工具链自包含下载+工作区缓存 - 后端产物改为发布 Gitea Release 附件(server-v<版本>),与 runner 位置解耦 - deploy-watch.sh 重写为从 Release 拉取:匿名/令牌 HTTPS 下载、包结构预检、 按 release id 幂等、失败下轮重试 - 移除对 /ci-artifacts 本机目录的依赖(原设计要求 runner 与生产同机) - PULL_DEPLOY.md 架构图同步更新
This commit is contained in:
@@ -7,13 +7,18 @@
|
||||
## 架构
|
||||
|
||||
```
|
||||
push main → Gitea Actions 构建(runner 与 doc79 同机)→ 产物写入 /ci-artifacts
|
||||
push main → Gitea Actions(hk runner 构建)→ 部署包发布为 Gitea Release 附件
|
||||
↓
|
||||
1Panel 计划任务(每分钟)运行 deploy-watch.sh → 发现新 sha256 → deploy.sh 原子切换 + 重启容器 + 健康检查
|
||||
1Panel 计划任务(每分钟)运行 deploy-watch.sh → 发现新 release → HTTPS 拉取 deploy.tar.gz
|
||||
↓
|
||||
deploy.sh 原子切换 + 重启容器 + 健康检查(失败自动回滚)
|
||||
↓
|
||||
EdgeOne CDN (HTTPS 终结) → doc79:80 → 1Panel OpenResty 反代 → 127.0.0.1:8080 lunar-server 容器
|
||||
```
|
||||
|
||||
> 产物通过 Gitea Release 分发,与 runner 位置解耦(hk/bt 均可构建);
|
||||
> 服务器侧只出站 HTTPS 拉取,无任何入站 SSH。
|
||||
|
||||
## 一次性安装步骤(按序执行)
|
||||
|
||||
### 1. EdgeOne 回源配置(控制台)
|
||||
@@ -87,6 +92,8 @@ ADMIN_PASSWORD=<后台登录密码>
|
||||
- 脚本内容:
|
||||
|
||||
```bash
|
||||
# 可选:若仓库私有或需要令牌拉取,在 .env 中配置 GITEA_DEPLOY_TOKEN
|
||||
[ -f /opt/lunar/production/.env ] && set -a && . /opt/lunar/production/.env && set +a
|
||||
bash /opt/lunar/scripts/deploy-watch.sh
|
||||
```
|
||||
|
||||
|
||||
Reference in New Issue
Block a user