diff --git a/.gitignore b/.gitignore index 3f91c59..1c38b97 100644 --- a/.gitignore +++ b/.gitignore @@ -6,6 +6,7 @@ miniapp2api.exe # 本機執行資料(含密碼雜湊、API 金鑰、帳號 JWT/CSRF) config.json auths/ +bin/* # 日誌與暫存 *.log diff --git a/README.en.md b/README.en.md index d658e82..c524ef5 100644 --- a/README.en.md +++ b/README.en.md @@ -15,6 +15,7 @@ Pure Go, no third-party dependencies, and a single self-contained binary (Window - [Windows](#windows) - [Linux](#linux) - [Build from source](#build-from-source) + - [Auto build](#auto-build) - [First run](#first-run) - [Adding accounts](#adding-accounts) - [Calling the OpenAI API](#calling-the-openai-api) @@ -184,6 +185,14 @@ GOOS=windows GOARCH=amd64 go build -o miniapp2api.exe . GOOS=linux GOARCH=arm64 go build -o miniapp2api-linux-arm64 . ``` +### Auto build + +`build/build-windows.bat` Windows builder + +`build/build-linux.bat` Linux environment builder + +`bin/` Build result + ### Command-line flags | Flag | Description | diff --git a/README.md b/README.md index aca78ec..4fc60ef 100644 --- a/README.md +++ b/README.md @@ -15,6 +15,7 @@ - [Windows](#windows) - [Linux](#linux) - [從原始碼建置](#從原始碼建置) + - [自動建置](#自動建置) - [第一次啟動](#第一次啟動) - [新增帳號](#新增帳號) - [呼叫 OpenAI API](#呼叫-openai-api) @@ -185,6 +186,14 @@ GOOS=windows GOARCH=amd64 go build -o miniapp2api.exe . GOOS=linux GOARCH=arm64 go build -o miniapp2api-linux-arm64 . ``` +### 自動建置 + +`build/build-windows.bat`提供windows編譯 + +`build/build-linux.bat`提供Linux編譯環境 + +`bin/`儲存編譯的結果 + ### 命令列參數 | 參數 | 說明 | diff --git a/build/build-linux.bat b/build/build-linux.bat new file mode 100644 index 0000000..6bb1e6e --- /dev/null +++ b/build/build-linux.bat @@ -0,0 +1,26 @@ +@echo off +set APP_NAME=app + +echo [Info] start building app + +set GOOS=linux +set GOARCH=amd64 +set CGO_ENABLED=0 + +go version +if %errorlevel% neq 0 ( + echo [Error] failed to find go. Please install Go or check PATH. + exit /b %errorlevel% +) + +if not exist ..\bin (mkdir ..\bin & echo [Info] create ../bin) + +@REM go build -ldflags="-s -w" -o ../bin/%APP_NAME%_linux_amd64 ../cmd/server +go build -o ../bin/%APP_NAME%_linux_amd64 ../cmd/server +if %errorlevel% neq 0 ( + echo [Error] failed to build + exit /b %errorlevel% +) +echo [Success] output at ../bin/%APP_NAME%_linux_amd64 + +pause \ No newline at end of file diff --git a/build/build-windows.bat b/build/build-windows.bat new file mode 100644 index 0000000..e84cba8 --- /dev/null +++ b/build/build-windows.bat @@ -0,0 +1,24 @@ +@echo off +set APP_NAME=app + +echo [Info] start building app + +set GOOS=windows +set GOARCH=amd64 + +go version +if %errorlevel% neq 0 ( + echo [Error] failed to find go. Please install Go or check PATH. + exit /b %errorlevel% +) + +if not exist ..\bin (mkdir ..\bin & echo [Info] create ../bin) + +go build -o ..\bin\%APP_NAME%_windows_amd64.exe ..\cmd\server +if %errorlevel% neq 0 ( + echo [Error] failed to build + exit /b %errorlevel% +) +echo [Success] output at ..\bin\%APP_NAME%_windows_amd64 + +pause \ No newline at end of file diff --git a/main.go b/cmd/server/main.go similarity index 100% rename from main.go rename to cmd/server/main.go