一. 什么是Jenkins

Jenkins是当前非常流行的一款持续集成工具,可以帮助大家把更新后的代码自动部署到服务器上运行。

二. 为什么用docker版的Jenkins

Jenkins主要有三种安装方式

  1. 下载官方war包,放到tomcat中直接运行。
  2. yum安装,感兴趣的朋友可以参考之前我写的一篇文章在linux服务器上安装Jenkins
  3. 使用官方docker镜像。

使用docker镜像安装,简单除暴无脑,可提高技术总监部署效率。

三. 准备工作

要使用docker镜像,首先你得先安装docker。对docker不熟悉的朋友可以参考docker的教程。

四. 寻找官方镜像

docker pull jenkins/jenkins

耐心等待下载完成,输入命令查看下载完成的镜像

docker images

docker 怎么自动部署springboot项目 docker 自动化部署 流程_docker

在镜像文档里,我们知道Jenkins访问的端口号是8080,另外还需要暴露一个tcp的端口号50000。我们使用如下命令启动Jenkins镜像。

运行jenkins镜像

docker run -d -p 80:8080 -p 50000:50000 -v jenkins:/var/jenkins_home -v /etc/localtime:/etc/localtime --name jenkins docker.io/jenkins/jenkins

这里逐条解释下各参数的意义。

  • -d 后台运行镜像
  • -p 80:8080 将镜像的8080端口映射到服务器的80端口
  • -p 50000:50000 将镜像的50000端口映射到服务器的50000端口
  • -v jenkins:/var/jenkins_home /var/jenkins_home目录为jenkins工作目录,我们将硬盘上的一个目录挂载到这个位置,方便后续更新镜像后继续使用原来的工作目录。
  • -v /etc/localtime:/etc/localtime 让容器使用和服务器同样的时间设置。
  • --name jenkins 给容器起一个别名

启动后输入命令docker ps -a查看所有容器,可以看到jenkins已成功启动。

六. 配置Jenkins

在浏览器输入http://ip进入Jenkins登录页面。页面会提示你到服务器的指定位置获取初始化密码。

docker 怎么自动部署springboot项目 docker 自动化部署 流程_docker_02

注意,因为我们是docker版的jenkins,所以这个路径不是服务器的路径,而是容器内的路径。我们可以通过如下命令从容器中获取到初始化密码。

docker exec jenkins tail /var/jenkins_home/secrets/initialAdminPassword

在页面输入密码,点击Continue,进入插件安装页面。我们点击左边的Install suggested plugins,安装推荐插件就好。

docker 怎么自动部署springboot项目 docker 自动化部署 流程_Jenkins_03

耐心等待安装完成

安装好插件后,系统会提示建立管理员账户。

docker 怎么自动部署springboot项目 docker 自动化部署 流程_Jenkins_04

创建管理员账户后进入系统,我们先来配置常用工具。

docker 怎么自动部署springboot项目 docker 自动化部署 流程_自动安装_05

进入工具配置页,首先看到的就是jdk配置,这里我们先使用自动安装的java8

docker 怎么自动部署springboot项目 docker 自动化部署 流程_Jenkins_06

jdk自动安装

注意,自动安装jdk需要你填入oracle的账号密码,这样Jenkins才能自动帮你到oracle安装。如果没有oracle账号,建议先去Oracle官网注册一下。

配置好jdk自动安装后,我们继续配置gitgit的字段安装更简单,起个别名,勾上自动安装

docker 怎么自动部署springboot项目 docker 自动化部署 流程_自动安装_07

git自动安装

 

配置好git我们继续配置Gradle,一样简单,起个别名,勾上自动安装,选择Gradle的版本。

docker 怎么自动部署springboot项目 docker 自动化部署 流程_docker_08

gradle自动安装