Jenkins–部署–02–打包Maven项目为Docker镜像并运行(pipeline)
1、介绍
看这边文章前,先要看
Jenkins--部署--01--打包Maven项目为Docker镜像并运行
2、pipeline脚本
pipeline {
agent any
tools {
//引用的工具,通过名称引用
maven 'maven-3.3.9'
}
environment {
server_name='demo1'
port='8888'
}
stages {
stage('克隆代码') {
steps {
echo '克隆代码'
checkout([$class: 'GitSCM',
branches: [[name: '*/master']],
extensions: [],
userRemoteConfigs: [[credentialsId: '3a28f7f4-c183-4977-8b83-0f130c243324', url: 'https://gitee.com/DanShenGuiZu/jenkins.git']]
])
}
}
stage('打包') {
steps {
echo '打包'
dir('./demo1') {
echo '切换当前目录'
echo pwd()
sh 'mvn clean package -Dmaven.test.skip=true'
}
}
}
stage('删除容器和镜像') {
steps {
echo '删除容器和镜像'
sh 'docker stop $server_name'
sh 'docker rm -f $server_name'
sh 'docker rmi $server_name'
}
}
stage('构建镜像') {
steps {
echo '构建镜像'
dir('./demo1') {
// 拷贝jar
sh 'cp ./target/*.jar ./docker'
// 修改jar权限
sh 'chmod 755 ./docker/*.jar'
sh 'cd ./docker && docker build -t $server_name .'
}
}
}
stage('运行镜像') {
steps {
sh 'docker run -d -p $port:$port --name $server_name $server_name'
}
}
}
}
3、测试结果