我正在尝试学习 Jenkins 以及如何使用 docker 部署 Spring Boot 应用程序(目前,将其部署在运行 Jenkins 的同一台机器上)。
使用 blueocean 我构建了这个管道:
pipeline {
agent {
docker {
image 'maven:3-alpine'
args '-p 8085:8085 -v /root/.m2:/root/.m2'
}
}
stages {
stage('Build') {
steps {
sh 'mvn -B -DskipTests clean package'
}
}
stage('Deliver') {
steps {
sh './jenkins/scripts/deliver.sh'
}
}
}
}
脚本deliver.sh
有以下内容(复制自here)
set -x
mvn jar:jar install:install help:evaluate -Dexpression=project.name
set +x
set -x
NAME=`mvn help:evaluate -Dexpression=project.name | grep "^[^\[]"`
set +x
set -x
VERSION=`mvn help:evaluate -Dexpression=project.version | grep "^[^\[]"`
set +x
set +x
java -jar target/${NAME}-${VERSION}.jar
当我运行管道时一切正常,应用程序已部署(我可以在 http://192.168.0.78:8085/say-hello 访问我的端点)但管道没有完成,我看到 Started DemoApplication in 6.499 seconds (JVM running for 7.909)
表示应用程序正在运行,但似乎管道正在“等待”?为某事。
我是否需要做一些进一步的步骤来结束此管道并进行“成功部署”?