feat: 统一sql命名、函数命名

This commit is contained in:
2026-08-02 12:02:04 +08:00
parent d39342ce5f
commit 0e674e9d56
68 changed files with 1985 additions and 1720 deletions

33
scripts/Dockerfile Normal file
View File

@@ -0,0 +1,33 @@
FROM golang:1.24-alpine AS builder
# 安装 UPX
RUN apk add --no-cache upx
WORKDIR /app
# 复制依赖文件
COPY go.mod go.sum ./
RUN go mod download
# 复制代码
COPY . .
# 构建静态链接的二进制文件
RUN go build -ldflags="-s -w" -o server ./cmd \
&& upx -9 server
# alpine:3.19 scratch 最小体积
FROM scratch
WORKDIR /app
# 复制二进制文件
COPY --from=builder /app/server .
# 环境变量
ENV APP_ENV=production
EXPOSE 8080
# 运行服务
CMD ["./server"]

46
scripts/deploy.sh Executable file
View File

@@ -0,0 +1,46 @@
#!/bin/bash
set -euo pipefail
PROJECT_ROOT=$(cd -- "$(dirname "${BASH_SOURCE[0]}")/.." &> /dev/null && pwd)
REMOTE_SERVER="01"
REMOTE_DIR="/srv/docker/go-server"
IMAGE_NAME="go-server"
CONTAINER_NAME="go-server"
IMAGE_TAG="latest"
IMAGE_FILE="${IMAGE_NAME}-${IMAGE_TAG}.tar"
DOCKER_NETWORK="docker_app-bridge"
cd "$PROJECT_ROOT"
docker build -f ./scripts/Dockerfile --platform linux/amd64 -t "${IMAGE_NAME}":"${IMAGE_TAG}" .
docker save -o "${IMAGE_FILE}" "${IMAGE_NAME}":"${IMAGE_TAG}"
scp ${IMAGE_FILE} ${REMOTE_SERVER}:${REMOTE_DIR}
ssh "${REMOTE_SERVER}" << EOF
set -euo pipefail
cd "${REMOTE_DIR}"
docker stop "${CONTAINER_NAME}" || true
docker rm "${CONTAINER_NAME}" || true
docker rmi "${IMAGE_NAME}":"${IMAGE_TAG}" || true
docker load -i "${IMAGE_FILE}"
docker run -dit \
--name "${CONTAINER_NAME}" \
--restart unless-stopped \
-v "${REMOTE_DIR}"/production.yaml:/app/production.yaml:ro \
-v "${REMOTE_DIR}"/static:/app/uploads \
-v "${REMOTE_DIR}"/logs:/app/logs \
--network "${DOCKER_NETWORK}" \
${IMAGE_NAME}:${IMAGE_TAG}
rm -f "${IMAGE_FILE}"
EOF
rm -f "${IMAGE_FILE}"
docker rmi "${IMAGE_NAME}":"${IMAGE_TAG}" || true
echo "部署完成"