diff --git a/cloud/.gitignore b/cloud/.gitignore index 655212e..891e963 100644 --- a/cloud/.gitignore +++ b/cloud/.gitignore @@ -1,3 +1,4 @@ tmp deps/dist deps/*.zip +dist/ diff --git a/cloud/README.md b/cloud/README.md new file mode 100644 index 0000000..42d0208 --- /dev/null +++ b/cloud/README.md @@ -0,0 +1,29 @@ +## 安装帮助 + +### 第一步:安装nodejs + +``` +cd ../frontend +npm i +npm run build +``` +- 打包成功后复制/godo/deps/dist目录下所有文件到cloud/deps/dist目录 + +### 第二步:安装golang环境打包 + +#### linux/mac环境下打包 + +``` +sudo chmod +x build.sh +./build.sh +``` +#### windows环境下打包 + +- 首先安装mingw-w64,进入命令行界面 + +``` +./build.sh +``` + +- 打包成功后每个系统的版本在dist目录下 + diff --git a/cloud/build.sh b/cloud/build.sh new file mode 100644 index 0000000..8aa689e --- /dev/null +++ b/cloud/build.sh @@ -0,0 +1,36 @@ +#!/bin/bash + +# 定义要构建的平台 +PLATFORMS=("linux/amd64" "windows/amd64" "darwin/amd64" "linux/arm64" "windows/arm64" "darwin/arm64") + +# 定义版本号 +SCRIPT_VERSION="1.0.0" +# 获取当前脚本的绝对路径 +SCRIPT_DIR=$(cd "$(dirname "$0")" && pwd) +for PLATFORM in "${PLATFORMS[@]}"; do + # 分割平台字符串 + OS=$(echo $PLATFORM | cut -d '/' -f 1) + ARCH=$(echo $PLATFORM | cut -d '/' -f 2) + + # 设置后缀 + case $OS in + "windows") SUFFIX=".exe" ;; + *) SUFFIX="" ;; + esac + OUT_PATH="./dist/" + if [ ! -d "$OUT_PATH" ]; then + mkdir "$OUT_PATH" + fi + # 输出文件名 + OUTPUT_FILE="${OUT_PATH}godocloud_${OS}_${ARCH}${SUFFIX}" + + # 设置GOOS和GOARCH环境变量 + export GOOS=$OS + export GOARCH=$ARCH + export GODOTOPTYPE="web" + + # 执行编译命令,并处理可能的错误 + go build -ldflags="-s -w" -o "$OUTPUT_FILE" ./main.go || { echo "编译 $OS/$ARCH 失败,请检查错误并尝试解决。"; continue; } + + echo "编译 $OS/$ARCH 成功,生成文件: $OUTPUT_FILE" +done