Docker+Jenkins+Git+Maven实现Springboot项目自动化部署

一、项目整合Docker

1.新建Dockerfile

img

填入内容

FROM java:8-jre
VOLUME /tmp
ADD *.jar app.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

上传到github/码云

二、Jenkins插件安装

1.更换下载镜像源

Jenkins所有镜像列表

image-20200522175212023

image-20200522175223946

填入镜像源地址

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

image-20200522175820059

 

三、系统与工具配置

1.配置服务器主机连接

image-20200522181425187

 

填写密码、ip地址、用户名以及远程连接目录

image-20200523201916731

 

2.工具环境配置

image-20200522181620194

配置maven、JDK、Git

image-20200522181715192

image-20200522181756783

 

  备注:路径根据个人情况修改,要确保正确,可以到Jenkins的容器中查看

四、新建任务

1.新建Maven项目

image-20200522180036693

2.配置源码管理

将github/码云上的项目地址填入

image-20200522180833385

若是需要认证,则添加凭据即可

3.配置构建命令

image-20200522180933672

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容器启动完成"

备注:路径要根据个人情况填写

保存返回到主页面

 

五、使用

image-20200522194049023

image-20200522194120490

 

posted @ 2020-05-22 19:39  码农爱摸鱼  阅读(2653)  评论(0编辑  收藏  举报