diff --git a/.gitignore b/.gitignore index f31f3bd..ad37d4b 100644 --- a/.gitignore +++ b/.gitignore @@ -2,4 +2,6 @@ bin/ logs/ runtime/ reports/ +target/ config.ini +*.log diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..e13d5ff --- /dev/null +++ b/Dockerfile @@ -0,0 +1,14 @@ +# 基础镜像:JDK11 轻量版 +FROM openjdk:11-jre-slim + +LABEL author="ZhanGSKen" +WORKDIR /sdcard/WinBoLLStudio/AuthCenterConsoleApp + +# 关键修复:加./ 表示项目根目录的target,避免路径找不到 +COPY ./target/AuthCenter-1.0.0.jar authcenter.jar + +# 暴露端口和你写的一致(之前是8080,现在改999了,脚本也要同步) +EXPOSE 999 + +# 启动命令(保留你的参数) +ENTRYPOINT ["java", "-Dfile.encoding=UTF-8", "-jar", "authcenter.jar", "-log:SEVERE"] diff --git a/build-run-pro.sh b/build-run-pro.sh new file mode 100644 index 0000000..9e92295 --- /dev/null +++ b/build-run-pro.sh @@ -0,0 +1,54 @@ +#!/bin/bash +set -e +# 核心配置(必改 CONFIG_DIR) +APP_NAME="authcenter" +APP_VERSION="1.0.0" +IMAGE_NAME="${APP_NAME}:${APP_VERSION}" +CONTAINER_NAME="authcenter-app" +HOST_PORT=999 +CONTAINER_PORT=990 +CONFIG_DIR="/sdcard/WinBoLLStudio/AuthCenterConsoleApp" # 务必修改!例 /home/zhang/authcenter/config +WORK_DIR="/sdcard/WinBoLLStudio/AuthCenterConsoleApp" + +log(){ + echo "[$(date +'%Y-%m-%d %H:%M:%S')] $1" +} + +log "===== 一键构建启动开始 =====" + +# 1. Maven打包 +log "1. Maven编译打包" +mvn clean package -Dmaven.test.skip=true + +# 2. 删旧容器(强制) +log "2. 清理旧容器" +docker rm -f "${CONTAINER_NAME}" >/dev/null 2>&1 || log "无旧容器" + +# 3. 删旧镜像 +log "3. 清理旧镜像" +docker rmi -f "${IMAGE_NAME}" >/dev/null 2>&1 || log "无旧镜像" +# 清悬空镜像 +docker rmi $(docker images -f dangling=true -q) 2>/dev/null || true + +# 4. 构建镜像(变量加引号,必加!) +log "4. 构建镜像 ${IMAGE_NAME}" +docker build -t "${IMAGE_NAME}" . + +# 5. 启动容器(挂载+时区+内存限制) +log "5. 启动容器" +docker run -d \ + --name "${CONTAINER_NAME}" \ + -p "${HOST_PORT}":"${CONTAINER_PORT}" \ + -v "${CONFIG_DIR}":"${WORK_DIR}"/config:ro \ + -v /etc/localtime:/etc/localtime:ro \ + --restart=on-failure:3 \ + --memory=512m \ + "${IMAGE_NAME}" + +# 验证 +if docker ps | grep -w "${CONTAINER_NAME}"; then + log "✅ 成功!容器名:${CONTAINER_NAME} 访问:http://本机IP:${HOST_PORT}" +else + log "❌ 容器启动失败!" + exit 1 +fi diff --git a/docker_build.sh b/docker_build.sh new file mode 100644 index 0000000..81d6a26 --- /dev/null +++ b/docker_build.sh @@ -0,0 +1,2 @@ +# 构建镜像(标签为 authcenter:v1.0.0) +docker build -t authcenter:v1.0.0 . diff --git a/maven_build.sh b/maven_build.sh new file mode 100644 index 0000000..972f67d --- /dev/null +++ b/maven_build.sh @@ -0,0 +1 @@ +mvn clean package -DskipTests diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..2c4573e --- /dev/null +++ b/pom.xml @@ -0,0 +1,58 @@ + + + 4.0.0 + + + cc.winboll + AuthCenter + 1.0.0 + jar + AuthCenter + AuthCenter 认证中心服务(适配Android API30+JDK7) + + + + 1.7 + 1.7 + UTF-8 + UTF-8 + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.8.1 + + 1.7 + 1.7 + UTF-8 + + ${java.home}/jre/lib/rt.jar + + + + + + + org.apache.maven.plugins + maven-jar-plugin + 3.2.2 + + + + true + libs/ + + cc.winboll.Main + + + + + + + diff --git a/run_docker.sh b/run_docker.sh new file mode 100644 index 0000000..275830c --- /dev/null +++ b/run_docker.sh @@ -0,0 +1,6 @@ +# 运行容器 +docker run -d \ + --name authcenter \ + -p 999:999 \ + -v /sdcard/WinBoLLStudio/AuthCenterConsoleApp:/sdcard/WinBoLLStudio/AuthCenterConsoleApp \ + authcenter:v1.0.0