feat: 优化 update 脚本,新增 Windows 版 update.ps1

- update.sh: 改为 git pull 拉取整个仓库,命令行内选择更新方式(默认拉取+更新)
- update.ps1: 新增 Windows 更新脚本,功能与 Linux 版一致
- README: 更新 update 脚本说明及 Windows 使用方式

Made-with: Cursor
This commit is contained in:
2026-03-20 18:35:33 +08:00
parent f2f10d543e
commit 512dd66762
3 changed files with 271 additions and 79 deletions
+21 -20
View File
@@ -403,7 +403,8 @@ chmod +x https.sh
### 更新升级
update.sh 脚本用于自动更新 EasyAI 应用,包含以下功能:
- 自动检查和更新 `docker-compose.yml` 文件(从远程仓库获取最新版本
- **拉取整个仓库**:执行 `git pull` 获取最新代码(docker-compose.yml、start.sh、.env.*.sample 等全部文件
- 自动补齐缺失的环境配置文件(.env、.env.tools、.env.ASG、.env.AMS,从 .sample 生成且不覆盖已有文件)
- 兼容 `docker compose` 和 `docker-compose` 两种命令格式
- 自动拉取最新镜像并重启服务
@@ -413,32 +414,32 @@ update.sh 脚本用于自动更新 EasyAI 应用,包含以下功能:
chmod +x update.sh
```
2. 执行更新(默认会检查并更新 docker-compose.yml
2. 执行更新(默认会 `git pull` 拉取整个仓库
```bash
./update.sh
```
#### 参数选项
- **跳过 docker-compose.yml 更新**:如果你已经手动修改了 `docker-compose.yml` 文件,可以使用 `-s` 或 `--skip-compose-update` 参数跳过更新
```bash
# 跳过 docker-compose.yml 更新,仅更新容器镜像
./update.sh -s
# 或
./update.sh --skip-compose-update
```
> **注意**update.sh 需要在 Git 克隆的目录下运行。若通过 zip 下载而非 git clone,请先使用 `git clone` 获取项目。
- **查看帮助信息**
```bash
./update.sh -h
# 或
./update.sh --help
```
#### 使用方式
- 执行 `./update.sh` 后会**命令行内选择**更新方式:
- `[1]` 更新并拉取仓库(git pull)+ 更新镜像并重启(**默认**,回车即选)
- `[2]` 仅更新镜像并重启(跳过 git pull,适用于有本地修改不想被覆盖的场景)
- **查看帮助**`./update.sh -h` 或 `./update.sh --help`
#### 更新说明
- 脚本会自动从远程仓库下载最新的 `docker-compose.yml` 文件
- 如果本地文件与远程文件不同,会将原文件备份为 `docker-compose.yml.bak`
- 如果本地文件已是最新版本,则跳过更新
- 更新完成后会自动执行 `docker-compose pull` 和 `docker-compose up -d` 来重启服务
- 脚本会执行 `git pull` 拉取整个仓库最新代码
- 拉取后会检查并补齐缺失的 .env、.env.tools、.env.ASG、.env.AMS(不会覆盖已有文件)
- 最后执行 `docker compose pull` 和 `docker compose up -d` 拉取镜像并重启服务
#### Windows 用户(update.ps1
Windows 下使用 `update.ps1`,功能与 Linux 版一致:
```powershell
.\update.ps1
```
- 执行后会**命令行内选择**`[1]` 更新并拉取仓库 + 更新镜像(默认);`[2]` 仅更新镜像
- 需在 Git 克隆的 easyai 目录下运行