Use user-level deployment by default

This commit is contained in:
武阳
2026-05-07 12:03:00 +08:00
parent ec38ffe291
commit fd70af4d56
5 changed files with 29 additions and 30 deletions
+15 -13
View File
@@ -13,12 +13,9 @@ ZK Data Agent 是面向中控数据开发流程的 Agent 服务。当前仓库
适合首次部署,也适合后续更新:
```bash
APP_DIR="/opt/zk-data-agent" BRANCH="main" REPO="git@git.n.xiaomi.com:wuyang6/zk-data-agent.git" bash -lc '
APP_DIR="$HOME/zk-data-agent" BRANCH="main" REPO="git@git.n.xiaomi.com:wuyang6/zk-data-agent.git" bash -lc '
set -euo pipefail
sudo mkdir -p "$APP_DIR"
sudo chown "$USER":"$USER" "$APP_DIR"
if [ -d "$APP_DIR/.git" ]; then
cd "$APP_DIR"
git fetch origin
@@ -37,7 +34,7 @@ bash scripts/deploy-ubuntu.sh "$BRANCH" --skip-git
修改部署目录或分支时,只需要调整命令开头的变量:
```bash
APP_DIR="/data/zk-data-agent" BRANCH="main" REPO="git@git.n.xiaomi.com:wuyang6/zk-data-agent.git" bash -lc '...'
APP_DIR="$HOME/zk-data-agent-test" BRANCH="main" REPO="git@git.n.xiaomi.com:wuyang6/zk-data-agent.git" bash -lc '...'
```
这个命令会自动完成:
@@ -100,7 +97,7 @@ cp .env.deploy.example .env.deploy
## 运行方式
部署脚本会安装两个 systemd 服务:
部署脚本会安装两个用户级 systemd 服务,不需要 sudo
```bash
zk-data-agent-backend
@@ -110,27 +107,27 @@ zk-data-agent-frontend
查看状态:
```bash
sudo systemctl status zk-data-agent-backend
sudo systemctl status zk-data-agent-frontend
systemctl --user status zk-data-agent-backend
systemctl --user status zk-data-agent-frontend
```
查看日志:
```bash
sudo journalctl -u zk-data-agent-backend -f
sudo journalctl -u zk-data-agent-frontend -f
journalctl --user -u zk-data-agent-backend -f
journalctl --user -u zk-data-agent-frontend -f
```
重启服务:
```bash
sudo systemctl restart zk-data-agent-backend zk-data-agent-frontend
systemctl --user restart zk-data-agent-backend zk-data-agent-frontend
```
停止服务:
```bash
sudo systemctl stop zk-data-agent-backend zk-data-agent-frontend
systemctl --user stop zk-data-agent-backend zk-data-agent-frontend
```
## 本地开发启动
@@ -155,7 +152,6 @@ Ubuntu 部署建议准备:
- `git`
- `bash`
- `curl`
- `sudo`
- `systemd`
- `pyenv`
- Python `3.10.14`
@@ -166,6 +162,12 @@ Python 后端依赖由部署脚本安装到项目根目录 `.venv`。
前端依赖由部署脚本在 `frontend/app` 下执行 `npm ci` 安装,并执行 `npm run build`
默认部署使用用户级 systemd,不需要 sudo。若机器要求服务在用户退出 SSH 后仍保持运行,可由管理员额外执行:
```bash
loginctl enable-linger <username>
```
## 目录说明
```text