Files
tvs/Jenkinsfile
2025-10-29 09:33:01 +08:00

73 lines
2.3 KiB
Groovy

pipeline {
agent any
environment {
// 服务器信息
REMOTE_HOST = "172.16.0.21"
REMOTE_USER = "root"
PROJECT_NAME = "tvs-service"
// Docker 镜像信息
DOCKER_REGISTRY = "172.16.0.21"
GATEWAY_IMAGE = "ccag-cloud-gateway"
SYSTEM_IMAGE = "ccag-system-cloud-start"
// 代码目录
MODULE_PATH_GATEWAY = "ccag-server-cloud/ccag-cloud-gateway"
MODULE_PATH_SYSTEM = "ccag-server-cloud/ccag-system-cloud-start"
}
stages {
stage('拉取代码') {
steps {
git branch: 'master', credentialsId: 'git-credentials-id', url: 'git@172.16.0.76:firstarr/tvs/tvs-service.git'
}
}
stage('编译 & 打包') {
steps {
script {
sh "mvn clean install -DskipTests -f ../ccag-module-system/pom.xml"
sh "mvn clean install -DskipTests -pl ccag-tvs-api"
sh "mvn clean package -DskipTests -pl ${MODULE_PATH_GATEWAY},${MODULE_PATH_SYSTEM} -am"
}
}
}
stage('构建 Docker 镜像') {
steps {
script {
sh """
docker build -t ${DOCKER_REGISTRY}/${GATEWAY_IMAGE}:latest -f ${MODULE_PATH_GATEWAY}/Dockerfile ${MODULE_PATH_GATEWAY}
docker build -t ${DOCKER_REGISTRY}/${SYSTEM_IMAGE}:latest -f ${MODULE_PATH_SYSTEM}/Dockerfile ${MODULE_PATH_SYSTEM}
"""
}
}
}
stage('推送 Docker 镜像') {
steps {
script {
sh """
docker login -u your-docker-username -p your-docker-password ${DOCKER_REGISTRY}
docker push ${DOCKER_REGISTRY}/${GATEWAY_IMAGE}:latest
docker push ${DOCKER_REGISTRY}/${SYSTEM_IMAGE}:latest
"""
}
}
}
stage('远程部署') {
steps {
script {
sshagent(['ssh-credentials-id']) {
sh """
ssh ${REMOTE_USER}@${REMOTE_HOST} 'bash -s' < deploy.sh
"""
}
}
}
}
}
}