feat: 更新打包和安装逻辑,支持新格式发布包
- 在 all-upload-release.sh 中添加临时打包目录,复制二进制文件及必要的脚本和配置文件。 - 修改 install.sh 以支持新格式发布包的提取,简化安装流程,无需从 Git 克隆。 - 更新 INSTALL.md 和 README.md,说明新格式发布包的优点和安装步骤。 - 确保安装脚本能够处理旧格式发布包,保持向后兼容性。
This commit is contained in:
@@ -279,16 +279,52 @@ pack_files() {
|
||||
local pack_name="${PROJECT_NAME}-${os}-${arch}-${VERSION}"
|
||||
local pack_file
|
||||
|
||||
# 创建临时打包目录
|
||||
local pack_dir="${TEMP_DIR}/${pack_name}"
|
||||
mkdir -p "$pack_dir"
|
||||
|
||||
# 复制二进制文件并重命名为 agent
|
||||
if [ "$os" = "windows" ]; then
|
||||
cp "$binary" "$pack_dir/agent.exe"
|
||||
else
|
||||
cp "$binary" "$pack_dir/agent"
|
||||
chmod +x "$pack_dir/agent"
|
||||
fi
|
||||
|
||||
# 复制必要的脚本文件
|
||||
local scripts=("install.sh" "run.sh" "start-systemd.sh" "uninstall.sh")
|
||||
for script in "${scripts[@]}"; do
|
||||
if [ -f "$script" ]; then
|
||||
cp "$script" "$pack_dir/"
|
||||
chmod +x "$pack_dir/$script"
|
||||
echo -e "${BLUE} [包含]${NC} $script"
|
||||
else
|
||||
echo -e "${YELLOW} [警告]${NC} $script 不存在,跳过"
|
||||
fi
|
||||
done
|
||||
|
||||
# 复制示例配置文件
|
||||
if [ -f "config.yaml.example" ]; then
|
||||
cp "config.yaml.example" "$pack_dir/config.yaml.example"
|
||||
echo -e "${BLUE} [包含]${NC} config.yaml.example"
|
||||
else
|
||||
echo -e "${YELLOW} [警告]${NC} config.yaml.example 不存在,跳过"
|
||||
fi
|
||||
|
||||
# 打包
|
||||
if [ "$os" = "windows" ]; then
|
||||
pack_file="${TEMP_DIR}/${pack_name}.zip"
|
||||
echo -e "${BLUE}[打包]${NC} ${platform} -> ${pack_name}.zip"
|
||||
(cd "$BUILD_DIR" && zip -q "${pack_file}" "$(basename $binary)")
|
||||
(cd "$TEMP_DIR" && zip -q -r "${pack_file}" "$(basename $pack_dir)")
|
||||
else
|
||||
pack_file="${TEMP_DIR}/${pack_name}.tar.gz"
|
||||
echo -e "${BLUE}[打包]${NC} ${platform} -> ${pack_name}.tar.gz"
|
||||
tar -czf "$pack_file" -C "$BUILD_DIR" "$(basename $binary)"
|
||||
tar -czf "$pack_file" -C "$TEMP_DIR" "$(basename $pack_dir)"
|
||||
fi
|
||||
|
||||
# 清理临时目录
|
||||
rm -rf "$pack_dir"
|
||||
|
||||
echo "$pack_file"
|
||||
return 0
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user