Go(Gin) + React(Vite + shadcn/ui + Tailwind) 前后端分离,全中文 UI - 集群管理:Kubeconfig / Token 双接入,kubectl + helm 部署 - 主机管理:SSH 密钥 / 密码双认证,CPU/内存/磁盘使用率监控,SSH 错误中文友好提示 - 存储配置、部署管理、系统设置 - Docker 镜像内置 kubectl + helm,开箱即用 - run.sh 一键启停(start/stop/restart/status) Co-Authored-By: Claude <noreply@anthropic.com>
61 lines
1.6 KiB
Bash
61 lines
1.6 KiB
Bash
#!/bin/bash
|
|
# LokiDeploy Build Script
|
|
# Builds frontend and backend into a single deployable package
|
|
|
|
set -e
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
echo "========================================"
|
|
echo " LokiDeploy Build Script"
|
|
echo "========================================"
|
|
|
|
# 1. Build Frontend
|
|
echo "[1/2] Building frontend..."
|
|
cd "$SCRIPT_DIR/frontend"
|
|
if [ ! -d "node_modules" ]; then
|
|
echo " Installing dependencies..."
|
|
npm ci
|
|
fi
|
|
npm run build
|
|
echo " Frontend built: frontend/dist/"
|
|
|
|
# 2. Build Backend
|
|
echo "[2/2] Building backend..."
|
|
cd "$SCRIPT_DIR/backend"
|
|
|
|
# Detect Go
|
|
if command -v go &> /dev/null; then
|
|
GO_CMD="go"
|
|
elif [ -f "$HOME/go/bin/go" ]; then
|
|
GO_CMD="$HOME/go/bin/go"
|
|
else
|
|
echo "ERROR: Go not found. Please install Go 1.23+"
|
|
echo " wget https://go.dev/dl/go1.23.4.linux-amd64.tar.gz"
|
|
echo " tar -C $HOME -xzf go1.23.4.linux-amd64.tar.gz"
|
|
echo " export PATH=\$HOME/go/bin:\$PATH"
|
|
exit 1
|
|
fi
|
|
|
|
export CGO_ENABLED=0
|
|
export GOPROXY=https://goproxy.cn,direct
|
|
$GO_CMD build -ldflags="-s -w" -o bin/lokideploy .
|
|
|
|
echo " Backend built: bin/lokideploy"
|
|
|
|
# 3. Copy dist to backend for embedded serving
|
|
cd "$SCRIPT_DIR"
|
|
rm -rf backend/dist
|
|
cp -r frontend/dist backend/dist
|
|
|
|
# 4. Summary
|
|
echo ""
|
|
echo "========================================"
|
|
echo " Build Complete!"
|
|
echo "========================================"
|
|
echo " Frontend: backend/dist/"
|
|
echo " Backend: backend/bin/lokideploy"
|
|
echo " Size: $(du -h backend/bin/lokideploy | cut -f1)"
|
|
echo ""
|
|
echo " Start with: ./run.sh"
|
|
echo "========================================"
|