You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
53 lines
1.6 KiB
53 lines
1.6 KiB
pipeline{
|
|
agent any
|
|
environment {
|
|
IMAGE_NAME = "ruoyi-admin"
|
|
WS = "${WORKSPACE}"
|
|
}
|
|
|
|
//定义流水线的加工流程
|
|
stages {
|
|
//流水线的所有阶段
|
|
stage('1.环境检查'){
|
|
steps {
|
|
sh 'pwd && ls -alh'
|
|
sh 'printenv'
|
|
sh 'docker version'
|
|
sh 'java -version'
|
|
sh 'git --version'
|
|
}
|
|
}
|
|
|
|
stage('2.编译'){
|
|
agent {
|
|
docker {
|
|
image 'maven:3-alpine'
|
|
args '-v maven-repository:/root/.m2'
|
|
}
|
|
}
|
|
steps {
|
|
sh 'pwd && ls -alh'
|
|
sh 'mvn -v'
|
|
sh 'cd ${WS} && mvn clean package -s "/var/jenkins_home/appconfig/maven/settings.xml" -Dmaven.test.skip=true'
|
|
}
|
|
}
|
|
|
|
stage('3.打包'){
|
|
steps {
|
|
sh 'pwd && ls -alh'
|
|
sh 'echo ${WS}'
|
|
// sh 'mv ${WS}/${IMAGE_NAME}/target/*.jar ${WS}/${IMAGE_NAME}.jar && pwd && ls -alh && docker build -t ${IMAGE_NAME} .'
|
|
sh 'docker build -t ${IMAGE_NAME} -f Dockerfile ${WS}/${IMAGE_NAME}/target/'
|
|
}
|
|
}
|
|
|
|
stage('4.部署'){
|
|
// 删除容器和虚悬镜像
|
|
steps {
|
|
sh 'pwd && ls -alh'
|
|
sh 'docker rm -f ${IMAGE_NAME} || true && docker rmi $(docker images -q -f dangling=true) || true'
|
|
sh 'docker run -d -p 8888:8080 --name ${IMAGE_NAME} -v /mydata/logs/${IMAGE_NAME}:/logs/${IMAGE_NAME} ${IMAGE_NAME}'
|
|
}
|
|
}
|
|
}
|
|
}
|