以下操作均在一台服务器:
相信你已经拥有Jenkins、Docker、maven,也有版本控制系统(Git),且在Jenkins里配置了凭据。
新建流水线作业,直接在结尾选择Pipeline from SCM(repository根目录下建scripts目录,新建jenkinsfile和dockerfile)

pipeline{
agent any
stages {
stage('pull code'){
steps {
timeout(time: 5,unit: 'MINUTES') {
checkout([$class: 'GitSCM', branches: [[name: '*/master']], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[credentialsId: 'xxxx', url: 'ssh://git@xxxxx.git']]])
}
}
}
stage('build war package'){
steps {
retry(3) {
sh '''
mvn install
'''
}
}
}
stage('build docker image'){
steps {
sh '''
mv xxx/target/test-1.0-SNAPSHOT.war scripts
docker build -t testapi:dev -f scripts/dockerfile scripts
'''
}
}
stage('deploy&&run'){
steps {
sh '''
docker run -d -p 8080:8080 --name testapi testapi:dev
'''
}
}
}
post {
always {
sh '''
rm -f scripts/test-1.0-SNAPSHOT.war
'''
}
}
}
Dockerfile内容如下:
FROM tomcat:9-alpine
COPY test-1.0-SNAPSHOT.war /usr/local/tomcat/webapps
后期可以根据需求自行添加shell脚本到scripts目录来实现镜像和容器的删除、构建和运行
以上仅代表个人观点,根据需求采纳