Jenkins+Docker+Maven部署springboot项目

Jenkins+Docker+Maven部署springboot项目

概述

在公司实习期间接触到了Jenkins进行自动化项目部署,学习过程中写了个小demo实现,写下这篇文章对过程进行简单记录。

介绍

个人理解jenkins就是辅助项目部署的工具,它的主要功能是通过git拉去写好的代码通过maven进行打包后将jar/war包部署到指定容器内运行。

所需条件

1.一台虚拟机,或服务器,当然也可以是本地电脑(但是这样做明显意义不大)。
2.虚拟机或服务器安装linux操作系统(本例中使用阿里云服务器,系统为centos7,以下使用服务器代指服务器或虚拟机)。不管是虚拟机还是服务器都不建议装图形用户界面严重影响体验占用内存造成卡顿。虚拟机或服务器开启后使用xshell7或其他工具进行远程执行linux命令即可,其附带的xftp文件上传功能也简单易用。

一切根本:安装jdk 这里使用的是1.8版本,linux下安装教程较多这里不再赘述,看官请记得配置环境变量,安装完成后java --version进行检测是否安装成功。

3.服务器上安装docker
可以使用命令

yum -y install docker-ce

具体安装不再赘述 可参考:
linuxdocker安装
4.linux安装maven
到maven官网或其他网站下载 apache-maven-3.6.0.tar.gz
上传至服务器的/usr/local/文件夹或其他位置,执行tar -zxvf apache-maven-3.6.0.tar.gz命令解压即可。解压后同文件夹下会有 apache-maven-3.6.0即maven的安装位置,这里需记录下此路径(pwd命令查看当前路径)

/usr/local/apache-maven-3.6.0

以及他的配置文件位置

/usr/local/apache-maven-3.6.0/conf/settings.xml

稍后会用到。
如果安装在其他文件夹记得记录对应位置,如果忘记可通过

whereis  apache-maven-3.6.0

命令进行查询。
此外通过wget或yum等linux自带方式进行安装也类似,重要的是记录以上两个安装位置的路径
5.服务器安装git
有两种方式下载压缩包及yum,这里采用yum方式较为简单
执行命令:

yum -y install git

之后可查看git默认安装位置

/usr/bin/git

记录下此路径稍后要用

安装jenkins

通过以上步骤,基本环境已搭建完成,接下来安装jenkins,因为之前已经下载了docker所以其实是可以使用docker下载镜像进行安装,但由于路径等相关配置较麻烦,这里采用传统方式安装。
在这里插入图片描述

在这里插入图片描述

1.到jenkins官网点击download-> 下载war包,下载后的文件为jenkins.war(windows,linux通用体现了Java的跨平台特性)

2.下载完成后上传至服务器根路径的/jenkins/目录下(mkdir建的,自行选择位置,无伤大雅)
3.在/jenkins/目录下执行:

java  -jar jenkins.war --httpPort=8080

》》》》》注意:打印出的信息中有初始密码很明显记录下来马上要用。
运行起来后来到本地电脑打开浏览器
输入地址:

http://服务器ip:8080
如我的地址:
http://39.103.128.111:8080

即可见到(下图中的密码即上面提到的初始密码,粘贴过来即可)
在这里插入图片描述
之后将见到
在这里插入图片描述

点击推荐的插件等待安装完成,有失败的不要慌 点击下方左侧重试按钮,多试几次,还是不行就点右侧暂且跳过进去之后可以再在插件中安装。

然后创建管理员账户即以后登录管理所用的账号记录下账号密码
在这里插入图片描述
下一步实例配置
在这里插入图片描述
这里不建议更改直接下一步
即可进入,若不能进入到服务器命令窗口ctrl+c停止jenkins运行,然后跟之前启动一样重新运行下war包 在到本地电脑刷新页面即可(要输入上上一步注册的账号密码)

点击左侧系统管理
在这里插入图片描述
右侧的插件管理可安装之前初始化时安装失败的插件,稍后会说。
这里先进行全局工具配置
这里填入之前安装git和maven时记录的信息即可
在这里插入图片描述
在这里插入图片描述
配完之后保存

来到上面系统管理->插件管理
在这里插入图片描述
除了之前初始化安装的推荐插件外还要在可用插件中搜索安装两个额外的插件

1.Maven Integration
2.Git plugin
在这里插入图片描述
点击新建任务

在这里插入图片描述
填入项目名选择构建一个maven项目
上面插件没装这里不能构建一个maven项目

在这里插入图片描述
方框中填入github项目地址(gitee,gitlab,svn等相同)
点击箭头处 弹框中输入git账号密码保存后圆圈处即可选择
在这里插入图片描述
先点击箭头处选择执行shell
然后命令处输入

#!/bin/bash
echo "开始运行"
echo "停止app"
docker stop app
echo "删除容器app"
docker rm app
echo "删除镜像yzx/accout-mange:latest"
docker rmi -f yzx/accout-mange:latest

#要把jar包制作成镜像就必须使用docker build命令 同时必须有对应的Dockerfile(指定jar包位置是在Dockerfile指定)
# . 表示当前目录 -f 参数指定Dockerfile文件  -t 表示 制作的镜像tag 
cd /var/lib/jenkins/workspace/accout-mange
docker build -f Dockerfile  -t  yzx/accout-mange:latest  .

echo "新容器id:"
docker create --name app \
-p 9999:8080 \
-v /tmp/accout:/tmp/accout \
yzx/accout-mange:latest

echo "启动容器名:"
docker start app

echo "执行完毕,浏览器打开IP:9999浏览"

注意:

Jenkins没有操作docker的权限,所以必须先
chmod 777 /var/run/docker.sock

至此,服务器部署完成,不过还没结束稍安勿躁。

上面填写的git项目地址中的项目需要进行一点简单配置
这里以我的jenkins项目为例
在这里插入图片描述

一个简单的springboot项目 maven install之后target目录下生成的jar包名为

jenkins-1.0-SNAPSHOT.jar

注意上面多出来的DockerFile文件 new file 名字输入这个即可
这是打包将jar包打包进docker镜像的关键

#构建镜像的Dockerfile
# From java image, version : 8
FROM java:8

# 挂载app目录
#VOLUME /app

##将maven构建好的jar添加到镜像中(前面为打包出的jar包名,后面任意与上上步执行shell中一致即可)
ADD target/jenkins-1.0-SNAPSHOT.jar accout-mange-1.0.jar

EXPOSE 8080

ENTRYPOINT ["java", "-jar", "accout-mange-1.0.jar"]

项目是想了一个简单接口返回一个字符串展示在页面上
在这里插入图片描述
将项目push到git上(上面填的git地址)

即可

在这里插入图片描述

上面创建完任务点击方框位置进入

在这里插入图片描述
点击立即构建成功则下方蓝色小球 红色小球为第一次失败了
在这里插入图片描述
点击红圈处可以查看构建详情及报错信息
在这里插入图片描述
比如我第一次失败为网络问题没连上git

构建成功出现蓝色小球后即可进行测试
浏览器输入服务器地址+端口/hello 收到返回的字符串
在这里插入图片描述

创作不易 欢迎点赞 有问题评论私聊都可(虽然我经常看不到)。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值