refactor: 重命名和替换构建及上传脚本
- 删除旧的 build-all.sh 和 upload.sh 脚本 - 新增 all-build.sh 和 all-upload-release.sh 脚本,支持从 version.json 自动读取版本号 - 更新 Makefile 和 README.md 以反映脚本名称的更改和新功能
This commit is contained in:
112
README.md
112
README.md
@@ -280,36 +280,36 @@ BACKEND_URL=http://192.168.1.100:8080 ./run.sh start
|
||||
- 需要确保源码目录存在且是 Git 仓库
|
||||
- 需要 Go 环境已安装并在 PATH 中
|
||||
|
||||
### 5. build-all.sh - 跨平台编译脚本
|
||||
### 5. all-build.sh - 跨平台编译脚本
|
||||
|
||||
编译多个操作系统和架构的二进制文件,支持并行编译。
|
||||
编译多个操作系统和架构的二进制文件,支持并行编译。**版本号自动从 `version.json` 读取**。
|
||||
|
||||
**使用方法:**
|
||||
|
||||
```bash
|
||||
# 编译所有平台
|
||||
./build-all.sh
|
||||
# 编译所有平台(自动使用 version.json 中的版本号)
|
||||
./all-build.sh
|
||||
|
||||
# 只编译指定平台
|
||||
./build-all.sh -p linux/amd64
|
||||
./all-build.sh -p linux/amd64
|
||||
|
||||
# 编译前清理输出目录
|
||||
./build-all.sh -c
|
||||
./all-build.sh -c
|
||||
|
||||
# 设置并行编译数量
|
||||
./build-all.sh -j 2
|
||||
./all-build.sh -j 2
|
||||
|
||||
# 设置版本号
|
||||
./build-all.sh -v 1.0.0
|
||||
# 覆盖版本号(覆盖 version.json 中的版本)
|
||||
./all-build.sh -v 1.0.0
|
||||
|
||||
# 只生成不带版本号的文件
|
||||
./build-all.sh -s
|
||||
./all-build.sh -s
|
||||
|
||||
# 列出所有支持的平台
|
||||
./build-all.sh -l
|
||||
./all-build.sh -l
|
||||
|
||||
# 显示帮助信息
|
||||
./build-all.sh -h
|
||||
./all-build.sh -h
|
||||
```
|
||||
|
||||
**支持的平台:**
|
||||
@@ -321,53 +321,63 @@ BACKEND_URL=http://192.168.1.100:8080 ./run.sh start
|
||||
- `windows/arm64` - Windows ARM64
|
||||
|
||||
**功能特性:**
|
||||
- 支持并行编译(默认 4 个任务)
|
||||
- 自动生成带版本号和不带版本号的文件
|
||||
- 输出到 `bin/` 目录
|
||||
- 显示编译进度和结果
|
||||
- 支持清理输出目录
|
||||
- ✅ **自动从 `version.json` 读取版本号**(无需手动指定)
|
||||
- ✅ 支持并行编译(默认 4 个任务)
|
||||
- ✅ 自动生成带版本号和不带版本号的文件
|
||||
- ✅ 输出到 `bin/` 目录
|
||||
- ✅ 显示编译进度和结果
|
||||
- ✅ 支持清理输出目录
|
||||
|
||||
**输出文件:**
|
||||
- `bin/agent-{os}-{arch}` - 不带版本号的二进制文件
|
||||
- `bin/agent-{os}-{arch}-{version}` - 带版本号的二进制文件
|
||||
- Windows 平台会自动添加 `.exe` 扩展名
|
||||
|
||||
### 6. upload.sh - 发布上传脚本
|
||||
**版本管理:**
|
||||
版本号统一从 `version.json` 文件读取:
|
||||
```json
|
||||
{
|
||||
"version": "1.1.0",
|
||||
"tag": "v1.1.0"
|
||||
}
|
||||
```
|
||||
|
||||
将编译好的二进制文件上传到 Releases 或通过其他方式发布。
|
||||
### 6. all-upload-release.sh - 发布上传脚本
|
||||
|
||||
将编译好的二进制文件上传到 Releases 或通过其他方式发布。**版本号和标签自动从 `version.json` 读取,Token 已硬编码**。
|
||||
|
||||
**使用方法:**
|
||||
|
||||
```bash
|
||||
# 上传到 Gitea Releases(自动从 .git/config 读取仓库信息)
|
||||
./upload.sh -m gitea -t v1.0.0 -v 1.0.0
|
||||
# 上传到 Gitea Releases(自动从 version.json 和 .git/config 读取信息)
|
||||
./all-upload-release.sh -m gitea
|
||||
|
||||
# 指定 Gitea 访问令牌
|
||||
./upload.sh -m gitea -t v1.0.0 -v 1.0.0 -T your_token
|
||||
# 上传到 Gitea Releases(覆盖版本号和标签)
|
||||
./all-upload-release.sh -m gitea -t v1.2.0 -v 1.2.0
|
||||
|
||||
# 上传到 GitHub Releases
|
||||
./upload.sh -m github -r owner/repo -t v1.0.0 -v 1.0.0
|
||||
./all-upload-release.sh -m github -r owner/repo -t v1.0.0 -v 1.0.0
|
||||
|
||||
# 通过 SCP 上传
|
||||
./upload.sh -m scp -H example.com -u user -d /path/to/release
|
||||
./all-upload-release.sh -m scp -H example.com -u user -d /path/to/release
|
||||
|
||||
# 通过 SCP 上传(指定私钥)
|
||||
./upload.sh -m scp -H example.com -u user -d /path/to/release -k ~/.ssh/id_rsa
|
||||
./all-upload-release.sh -m scp -H example.com -u user -d /path/to/release -k ~/.ssh/id_rsa
|
||||
|
||||
# 通过 FTP 上传
|
||||
./upload.sh -m ftp -H ftp.example.com -u user -d /path/to/release
|
||||
./all-upload-release.sh -m ftp -H ftp.example.com -u user -d /path/to/release
|
||||
|
||||
# 复制到本地目录
|
||||
./upload.sh -m local -d /path/to/release
|
||||
./all-upload-release.sh -m local -d /path/to/release
|
||||
|
||||
# 只打包不上传
|
||||
./upload.sh --pack-only -v 1.0.0
|
||||
./all-upload-release.sh --pack-only
|
||||
|
||||
# 不上传压缩包,直接上传二进制文件
|
||||
./upload.sh -m scp --no-pack -H example.com -u user -d /path/to/release
|
||||
./all-upload-release.sh -m scp --no-pack -H example.com -u user -d /path/to/release
|
||||
|
||||
# 显示帮助信息
|
||||
./upload.sh -h
|
||||
./all-upload-release.sh -h
|
||||
```
|
||||
|
||||
**支持的上传方式:**
|
||||
@@ -378,19 +388,21 @@ BACKEND_URL=http://192.168.1.100:8080 ./run.sh start
|
||||
- `local` - 复制到本地目录
|
||||
|
||||
**功能特性:**
|
||||
- 自动打包二进制文件(tar.gz 或 zip)
|
||||
- 自动创建发布说明
|
||||
- 支持指定平台上传
|
||||
- 支持自定义版本号和标签
|
||||
- 支持自定义发布说明
|
||||
- 自动检测并处理已存在的 Release
|
||||
- ✅ **自动从 `version.json` 读取版本号和标签**(无需手动指定)
|
||||
- ✅ **Token 已硬编码**(无需手动指定)
|
||||
- ✅ 自动打包二进制文件(tar.gz 或 zip)
|
||||
- ✅ 自动创建发布说明
|
||||
- ✅ 支持指定平台上传
|
||||
- ✅ 支持自定义版本号和标签(覆盖配置文件)
|
||||
- ✅ 支持自定义发布说明
|
||||
- ✅ 自动检测并处理已存在的 Release
|
||||
|
||||
**参数说明:**
|
||||
- `-m, --method`: 上传方式(gitea|github|scp|ftp|local)
|
||||
- `-v, --version`: 版本号(默认: 时间戳)
|
||||
- `-t, --tag`: Git 标签(Releases 需要)
|
||||
- `-m, --method`: 上传方式(gitea|github|scp|ftp|local,默认: gitea)
|
||||
- `-v, --version`: 版本号(默认: 从 version.json 读取)
|
||||
- `-t, --tag`: Git 标签(默认: 从 version.json 读取)
|
||||
- `-p, --platform`: 只上传指定平台
|
||||
- `-T, --token`: 访问令牌(Gitea/GitHub)
|
||||
- `-T, --token`: 访问令牌(已硬编码,此选项已废弃)
|
||||
- `-H, --host`: 主机地址(SCP/FTP)
|
||||
- `-u, --user`: 用户名(SCP/FTP)
|
||||
- `-d, --dest`: 目标路径(SCP/FTP/local)
|
||||
@@ -398,6 +410,24 @@ BACKEND_URL=http://192.168.1.100:8080 ./run.sh start
|
||||
- `--pack-only`: 只打包不上传
|
||||
- `--no-pack`: 不上传压缩包,直接上传二进制文件
|
||||
|
||||
**版本管理:**
|
||||
版本号和标签统一从 `version.json` 文件读取:
|
||||
```json
|
||||
{
|
||||
"version": "1.1.0",
|
||||
"tag": "v1.1.0"
|
||||
}
|
||||
```
|
||||
|
||||
**典型工作流程:**
|
||||
```bash
|
||||
# 1. 编译所有平台(自动使用 version.json 中的版本号)
|
||||
./all-build.sh
|
||||
|
||||
# 2. 上传到 Gitea Releases(自动使用 version.json 中的版本号和标签)
|
||||
./all-upload-release.sh -m gitea
|
||||
```
|
||||
|
||||
### 7. vendor.sh - Vendor 依赖打包脚本
|
||||
|
||||
将项目依赖下载到 vendor 目录,客户端克隆后可直接编译,无需网络连接。
|
||||
|
||||
Reference in New Issue
Block a user