jenkins+docker部署springboot项目
原创
©著作权归作者所有:来自51CTO博客作者码代码永真的原创作品,请联系作者获取转载授权,否则将追究法律责任
jenkins+docker部署springboot项目
在springboot根目录添加Dockerfile文件
FROM openjdk:8
VOLUME /tmp
ADD target/*.jar app.jar
EXPOSE 8080
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar","--spring.profiles.active=prd"]
一、新建自由风格任务
二、参数配置
- 按分支构建
- 配置git代码地址、账号密码和分支信息
- 构建参数(选择调用顶层Maven)
三、镜像构建和启动脚本
cd ${WORKSPACE}
appname="order"
if [[ -n $(docker ps -q -f "name=^${appname}\$") ]];then
docker stop ${appname}
docker rm ${appname}
else
echo "application not running"
fi
docker build -t "${appname}:${BUILD_NUMBER}" .
docker run -d -p 2002:8080 --name ${appname} ${appname}:${BUILD_NUMBER}
---------- 到此已完成-----------------------
四、 如果需要回滚
构建参数添加操作区分(deploy和rollback)
添加参数表示回滚的版本号(version)
构建shell脚本:
1: 部署脚本
if [ ${operate} = "deploy" ]; then
cd ${WORKSPACE}
appname="order"
if [[ -n $(docker ps -q -f "name=^${appname}$") ]];then
docker stop ${appname} || true
docker rm ${appname}
else
echo "application not runniing"
fi
docker build -t "${appname}:${BUILD_NUMBER}" .
docker run -d -p 2002:8080 --name ${appname} ${appname}:${BUILD_NUMBER}
fi
- 回滚脚本
if [ ${operate} = "rollback" ]; then
echo "------开始回滚----------------"
appname="order"
docker stop ${appname}
docker rm ${appname}
docker run -d -p 2002:8080 --name ${appname} ${appname}:${version}
fi
- 操作界面