From b08fbcc6d41a46e1191c5c71830e5253741ccbca Mon Sep 17 00:00:00 2001 From: zhangli <123879394@qq.com> Date: Wed, 2 Jul 2025 17:21:04 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=8C=81=E7=BB=AD=E6=9E=84?= =?UTF-8?q?=E5=BB=BA=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Dockerfile | 8 ++++++ Jenkinsfile | 78 +++++++++++++++++++++++++++++++++++++++++++++++++++++ README.md | 2 +- 3 files changed, 87 insertions(+), 1 deletion(-) create mode 100644 Dockerfile create mode 100644 Jenkinsfile diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..b719a2f --- /dev/null +++ b/Dockerfile @@ -0,0 +1,8 @@ +# 使用 OpenJDK 8 镜像构建 +FROM openjdk:8-jdk-alpine +# 添加作者信息 +LABEL maintainer="123879394@qq.com" +# 复制 jar 包 +COPY target/sczx-app.jar app.jar +# 设置 JVM 参数和启动命令 +ENTRYPOINT ["java", "-jar", "app.jar"] \ No newline at end of file diff --git a/Jenkinsfile b/Jenkinsfile new file mode 100644 index 0000000..9259db8 --- /dev/null +++ b/Jenkinsfile @@ -0,0 +1,78 @@ +pipeline { + agent any + + triggers { + // 可选:通过 Webhook 自动触发 + GenericTrigger( + genericVariables: [], + token: "sczx-app-webhook-token", + causeString: 'Triggered by Gitea Webhook' + ) + } + + environment { + // 环境变量 + APP_NAME = "sczx-app" + DOCKER_IMAGE = "${APP_NAME}:latest" + CONTAINER_NAME = "${APP_NAME}-container" + } + + stages { + stage('Checkout') { + steps { + echo "📦 正在拉取代码..." + git branch: 'main', url: 'https://gitea-url/sczx_group/sczx-app.git' + } + } + + stage('Build with Maven') { + steps { + echo "🛠️ 正在使用 Maven 构建..." + sh 'mvn clean package' + } + } + + stage('Build Docker Image') { + steps { + echo "🐋 正在构建 Docker 镜像..." + sh """ + docker build -t ${DOCKER_IMAGE} . + """ + } + } + + stage('Stop Old Container') { + steps { + echo "🛑 正在停止旧的容器(如果存在)..." + sh """ + if [ "$(docker ps -f "name=${CONTAINER_NAME}" --format "{{.Status}}")" ]; then + docker stop ${CONTAINER_NAME} + docker rm ${CONTAINER_NAME} + fi + """ + } + } + + stage('Run New Container') { + steps { + echo "🟢 正在运行新的容器..." + sh """ + docker run -d \ + --name ${CONTAINER_NAME} \ + -p 8088:8088 \ + --restart always \ + ${DOCKER_IMAGE} + """ + } + } + } + + post { + success { + echo "🎉 构建成功!" + } + failure { + echo "❌ 构建失败,请检查日志!" + } + } +} diff --git a/README.md b/README.md index c0022f8..4469b90 100644 --- a/README.md +++ b/README.md @@ -1 +1 @@ -测试文档 +闪充智行后端