Docker+Jenkins+Git+Maven实现Springboot项目自动化部署
一、项目整合Docker
新建Dockerfile
填入内容
FROM java:8-jre VOLUME /tmp ADD *.jar app.jar ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
上传到github/码云
二、Jenkins插件安装
1.更换下载镜像源
填入镜像源地址
https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
3.下载插件
Maven Integration plugin
Deploy to container Plugin
docker-build-step
Publish Over SSH
三、系统与工具配置
1.配置服务器主机连接
填写密码、ip地址、用户名以及远程连接目录
2.工具环境配置
配置maven、JDK、Git
备注:路径根据个人情况修改,要确保正确,可以到Jenkins的容器中查看
四、新建任务
1.新建Maven项目
2.配置源码管理
将github/码云上的项目地址填入
若是需要认证,则添加凭据即可
3.配置构建命令
4.配置构建后发布
填写执行命令
#!/bin/sh
#docker 镜像/容器名字或者jar名字 这里都命名为这个
SERVER_NAME=logistics
#容器id
CID=$(docker ps | grep "$SERVER_NAME" | awk '{print $1}')
#镜像id
IID=$(docker images | grep "$SERVER_NAME" | awk '{print $3}')
#当前日期
DATE=`date +%Y%m%d`
#清除旧容器
if [ -n "$CID" ]; then
echo "存在$SERVER_NAME容器,CID=$CID"
echo "停止旧容器"
docker stop $SERVER_NAME
echo "删除旧容器"
docker rm $SERVER_NAME
fi
# 清楚旧镜像
if [ -n "$IID" ]; then
echo "存在$SERVER_NAME镜像,IID=$IID"
echo "删除镜像"
docker rmi $IID
fi
#构建镜像
echo "开始构建镜像"
docker build -f ./src/main/docker/Dockerfile -t $SERVER_NAME:v${DATE} ./target
echo "构建镜像成功!"
# 运行docker容器
echo "创建并启动$SERVER_NAME容器..."
docker run --name $SERVER_NAME -d -p 8071:8071 $SERVER_NAME:v${DATE}
echo "$SERVER_NAME容器启动完成"
备注:路径要根据个人情况填写
保存返回到主页面