2.1 KiB
2.1 KiB
生产部署(GitHub Actions,前端静态站点)
本文档用于 admin-frontend 的自动化构建发布:
- 触发:
main分支 push 或手动触发 - 流程:GitHub Actions 构建
dist-> 通过 SSH 上传到服务器 -> 远程脚本覆盖发布 - 特点:参考
wx_service部署流程,全部参数由 GitHub Secrets 驱动
0. 与 wx_service 对齐
- 使用同一台服务器:
115.159.198.14 - SSH 用户:
root - 可复用
wx_service的 SSH 密钥体系 - 不使用脚本内默认服务器参数,统一由仓库 Secrets 注入
1. Nginx 路径约定(当前配置)
location ^~ /panel/ {
root /www/wwwroot/wx_service/web/admin-frontend;
index index.html;
try_files $uri $uri/ /panel/index.html;
}
对应发布目录:
/www/wwwroot/wx_service/web/admin-frontend/panel
2. 必填 GitHub Secrets
在 admin-frontend 仓库 Settings -> Secrets and variables -> Actions 配置:
PROD_SSH_KEY:私钥内容(~/.ssh/id_ed25519)PROD_HOST:115.159.198.14PROD_PORT:22PROD_USER:rootADMIN_WEB_ROOT:/www/wwwroot/wx_service/web/admin-frontend/panelADMIN_WEB_USER:wwwADMIN_WEB_GROUP:wwwADMIN_KEEP_BACKUPS:5
可选:
ADMIN_HEALTHCHECK_URL:例如http://115.159.198.14/panel/
3. 密钥说明
~/.ssh/id_ed25519.pub 是公钥,用于写入服务器 ~/.ssh/authorized_keys。
GitHub Actions 里的 PROD_SSH_KEY 必须填写私钥:
~/.ssh/id_ed25519
4. 工作流文件
/.github/workflows/deploy-prod.yml
每次主分支变更会自动:
npm cinpm run build(生产基路径/panel/)- 上传构建包到服务器
/tmp - 调用
scripts/ops/deploy_static.sh覆盖发布
5. 回滚
在服务器执行:
ls -lt /www/wwwroot/wx_service/web/admin-frontend/backups/admin-frontend.*.tar.gz
TARGET_DIR=/www/wwwroot/wx_service/web/admin-frontend/panel
BACKUP_FILE=/www/wwwroot/wx_service/web/admin-frontend/backups/admin-frontend.<backup_id>.tar.gz
find "$TARGET_DIR" -mindepth 1 -maxdepth 1 -exec rm -rf {} +
tar -xzf "$BACKUP_FILE" -C "$TARGET_DIR"
chown -R www:www "$TARGET_DIR"