73 lines
2.3 KiB
Groovy
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
|
|
"""
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|