docs: 增加项目获取与更新说明
This commit is contained in:
@@ -108,11 +108,52 @@
|
||||
|
||||
建议在开发和生产环境使用相同的 Node.js 主版本,避免依赖构建结果不一致。
|
||||
|
||||
## 本地开发
|
||||
## 获取与更新项目
|
||||
|
||||
推荐使用 SSH 克隆。Gitea 的 SSH 服务使用 `2222` 端口:
|
||||
|
||||
```bash
|
||||
git clone ssh://git@git.polarisx.net:2222/mikemoi/MindScope.git
|
||||
cd MindScope
|
||||
```
|
||||
|
||||
也可以使用 HTTPS:
|
||||
|
||||
```bash
|
||||
git clone https://git.polarisx.net/mikemoi/MindScope.git
|
||||
cd MindScope
|
||||
```
|
||||
|
||||
私有仓库通过 HTTPS 克隆时,请使用 Gitea 用户名和访问令牌,不要把账户密码或访问令牌写进命令、脚本或仓库文件。
|
||||
|
||||
服务器已经部署过项目时,使用以下命令获取最新版本并重新构建:
|
||||
|
||||
```bash
|
||||
cd /opt/mindscope
|
||||
git pull --ff-only origin main
|
||||
pnpm install --frozen-lockfile
|
||||
pnpm build
|
||||
|
||||
mkdir -p .next/standalone/.next
|
||||
rm -rf .next/standalone/.next/static
|
||||
cp -r .next/static .next/standalone/.next/static
|
||||
|
||||
sudo systemctl restart mindscope
|
||||
sudo systemctl status mindscope --no-pager
|
||||
```
|
||||
|
||||
如果以后增加了 `public` 目录,构建后还需要同步公开静态文件:
|
||||
|
||||
```bash
|
||||
rm -rf .next/standalone/public
|
||||
cp -r public .next/standalone/public
|
||||
```
|
||||
|
||||
`.env*`、`.next`、`node_modules`、日志和本地压缩包已被 `.gitignore` 排除,执行 `git pull` 不会提交或下载这些本地运行文件。更新前如有未提交的源码修改,先运行 `git status` 检查;`git pull --ff-only` 会在分支无法安全快进时停止,而不会自动创建合并提交。
|
||||
|
||||
## 本地开发
|
||||
|
||||
```bash
|
||||
pnpm install --frozen-lockfile
|
||||
pnpm dev
|
||||
```
|
||||
@@ -173,7 +214,7 @@ HOSTNAME=127.0.0.1 PORT=3000 NODE_ENV=production node server.js
|
||||
|
||||
### systemd 服务示例
|
||||
|
||||
假设项目部署到 `/opt/mindscope`,Node.js 位于 `/usr/bin/node`:
|
||||
假设项目源码部署到 `/opt/mindscope`,Node.js 位于 `/usr/bin/node`:
|
||||
|
||||
```ini
|
||||
[Unit]
|
||||
@@ -184,11 +225,11 @@ After=network.target
|
||||
Type=simple
|
||||
User=mindscope
|
||||
Group=mindscope
|
||||
WorkingDirectory=/opt/mindscope
|
||||
WorkingDirectory=/opt/mindscope/.next/standalone
|
||||
Environment=NODE_ENV=production
|
||||
Environment=HOSTNAME=127.0.0.1
|
||||
Environment=PORT=3000
|
||||
ExecStart=/usr/bin/node /opt/mindscope/server.js
|
||||
ExecStart=/usr/bin/node /opt/mindscope/.next/standalone/server.js
|
||||
Restart=on-failure
|
||||
RestartSec=5
|
||||
NoNewPrivileges=true
|
||||
|
||||
Reference in New Issue
Block a user