添加持续构建文件

This commit is contained in:
2025-07-02 17:21:04 +08:00
parent 332663f7c6
commit b08fbcc6d4
3 changed files with 87 additions and 1 deletions

78
Jenkinsfile vendored Normal file
View 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 "❌ 构建失败,请检查日志!"
}
}
}