diff --git a/README.MD b/README.MD index 94614a4..d6bf5e4 100644 --- a/README.MD +++ b/README.MD @@ -1,7 +1,7 @@ # 图书管理系统

- version + version Kotlin Spring Boot MySQL @@ -221,9 +221,29 @@ java -jar build/libs/bookMgr-0.1.jar ### Docker -Dockerfile 待补充。镜像后续发布至私有 Gitea 仓库: +镜像基于 `bellsoft/liberica-runtime-container:jre-21-slim-musl`,JVM 参数 `-Xmx512m -Dfile.encoding=UTF-8`,暴露 8080 端口。 -[git.msksbr.com/msksbr/bookMgr](https://git.msksbr.com/msksbr/bookMgr) +```bash +# 拉取镜像 +docker pull git.msksbr.com/msksbr/bookmgr:v0.1 + +# 运行 +docker run -d \ + --name bookmgr \ + -p 8080:8080 \ + -e DB_DRIVER=com.mysql.cj.jdbc.Driver \ + -e DB_TYPE=mysql \ + -e DB_URL=your-db-host \ + -e DB_PORT=3306 \ + -e DB_NAME=bookmgr \ + -e DB_USER=root \ + -e DB_PASSWORD=your-password \ + -e JWT_SECRET=your-secret \ + -e LOG_PATH=/var/log/bookmgr \ + git.msksbr.com/msksbr/bookmgr:v0.1 +``` + +镜像托管于私有 Gitea 仓库:[git.msksbr.com/msksbr/bookMgr](https://git.msksbr.com/msksbr/bookMgr) ### Docker Compose diff --git a/build.gradle.kts b/build.gradle.kts index 0b20c03..a2a4270 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -68,8 +68,8 @@ docker { baseImage.set("bellsoft/liberica-runtime-container:jre-21-slim-musl") ports.set(listOf(8080)) images.set(setOf( - "$giteaRegistry/$giteaUser/bookMgr:${project.version}", - "$giteaRegistry/$giteaUser/bookMgr:latest" + "$giteaRegistry/$giteaUser/bookmgr:${project.version}", + "$giteaRegistry/$giteaUser/bookmgr:latest" )) jvmArgs.set(listOf("-Xmx512m", "-Dfile.encoding=UTF-8")) } diff --git a/deploy.sh b/deploy.sh new file mode 100644 index 0000000..9cb8a75 --- /dev/null +++ b/deploy.sh @@ -0,0 +1,36 @@ +#!/bin/bash +set -e + +REGISTRY="${GITEA_REGISTRY:-git.msksbr.com}" +USERNAME="${GITEA_USERNAME:-msksbr}" +IMAGE="$REGISTRY/$USERNAME/bookmgr" +VERSION=$(grep '^version' build.gradle.kts | head -1 | sed 's/.*"\(.*\)".*/\1/') + +echo ">>> 版本: $VERSION" +echo ">>> 镜像: $IMAGE" + +# 1. 构建 jar + 生成 Dockerfile +echo ">>> 构建..." +./gradlew clean build dockerCreateDockerfile + +# 2. 构建镜像 +echo ">>> 构建镜像..." +docker build \ + -t "$IMAGE:$VERSION" \ + -t "$IMAGE:latest" \ + build/docker/ + +# 3. 推送镜像 +echo ">>> 推送镜像..." +docker push "$IMAGE:$VERSION" +docker push "$IMAGE:latest" + +echo "" +echo "完成!" +echo " 镜像: $IMAGE:$VERSION" +echo " jar: build/libs/book