添加持续构建文件
This commit is contained in:
		
							
								
								
									
										8
									
								
								Dockerfile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								Dockerfile
									
									
									
									
									
										Normal file
									
								
							| @ -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"] | ||||
							
								
								
									
										78
									
								
								Jenkinsfile
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										78
									
								
								Jenkinsfile
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -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 "❌ 构建失败,请检查日志!" | ||||
|         } | ||||
|     } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user