feat(deploy): add deployment script and update Docker docs

- Add deploy.sh for automated Docker build and push to private registry
- Lowercase Docker image name to comply with registry requirements
- Update README with concrete Docker run examples and configuration
This commit is contained in:
2026-05-24 03:15:02 +08:00
parent bd472fa36c
commit 1e6781b4f9
3 changed files with 61 additions and 5 deletions
+23 -3
View File
@@ -1,7 +1,7 @@
# 图书管理系统
<p align="center">
<img src="https://img.shields.io/badge/version-0.1-blue" alt="version">
<img src="https://img.shields.io/badge/version-v0.1-blue" alt="version">
<img src="https://img.shields.io/badge/Kotlin-2.2.21-purple?logo=kotlin" alt="Kotlin">
<img src="https://img.shields.io/badge/Spring_Boot-4.0.6-green?logo=springboot" alt="Spring Boot">
<img src="https://img.shields.io/badge/MySQL-8.0-orange?logo=mysql" alt="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
+2 -2
View File
@@ -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"))
}
+36
View File
@@ -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<gr-$VERSION.jar"
echo ""
echo "接下来手动操作:"
echo " 1. 去 Gitea 创建 Release,版本号填 v$VERSION"
echo " 2. 上传 build/libs/bookMgr-$VERSION.jar"
echo " 3. 上传 API 文档"