Jenkins+Docker+Gitee+SpringBoot自动化部署

Jenkins+Docker+Gitee+SpringBoot自动化部署

文章目录

  • Jenkins+Docker+Gitee+SpringBoot自动化部署
  • 前言
    • 使用Jenkins配合Gitee搭建一个自动化部署平台,并将代码托管到服务器上,这样减轻了本地的电脑压力,也解放了部署的流程。
  • 一、搭建Jenkins
  • 二、配置Jenkins
    • 1.访问Jenkins
    • 2.配置Jenkins
      • 2.1 选择安装推荐插件
      • 2.2 Jenkins配置Maven
      • 2.3 Gitee插件的安装
      • 2.4 创建SpringBoot应用
      • 2.5 创建自动化部署任务
      • 2.6 打包镜像并运行测试
  • 总结


前言

使用Jenkins配合Gitee搭建一个自动化部署平台,并将代码托管到服务器上,这样减轻了本地的电脑压力,也解放了部署的流程。

一、搭建Jenkins

Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件项目可以进行持续集成
我们先要安装Docker,Docker可以参考我的这篇文章 Centos7 安装Docker以及图形管理界面
安装完docker后 拉取并运行Jenkins镜像,端口映射和挂载目录可自行更改,jenkinsci/blueocean 版本能够简化流水线步骤。

docker run \
     -d \
     --rm \
     -u root \
     -p 8081:8080 \
     -v /home/jenkins-data:/var/jenkins_home \
     -v /var/run/docker.sock:/var/run/docker.sock \
     -v /opt/develop_resource/apache-maven-3.6.3:/usr/local/maven \
     -v "$HOME":/home \
     jenkinsci/blueocean


该镜像已集成jdk,所以我们需要安装并配置maven

wget http://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz

然后,使用命令解压.

tar -zxvf apache-maven-3.6.3-bin.tar.gz

解压完后,将目录中的内容移动至 上面映射的maven目录路径下。

二、配置Jenkins

1.访问Jenkins

http://192.168.206.129:8081 # 自己的 ip+端口 

Jenkins+Docker+Gitee+SpringBoot自动化部署_第1张图片
管理员密码通过使用 docker logs -f --tail=500 容器ID查看
容器ID可以使用 docker ps -a 查看
Jenkins+Docker+Gitee+SpringBoot自动化部署_第2张图片
Jenkins+Docker+Gitee+SpringBoot自动化部署_第3张图片

当然你也可以在/var/jenkins_home/secrets/initialAdminPassword这个文件中查看到管理员密码,不过这是Jenkins容器内的目录,我们在启动Jenkins的就挂载了Jenkins的关键目录/var/jenkins_home,宿主机目录为/home/jenkins-data,所以可以使用如下指令查看管理员密码。

cat /home/jenkins-data/secrets/initialAdminPassword

2.配置Jenkins

2.1 选择安装推荐插件

Jenkins+Docker+Gitee+SpringBoot自动化部署_第4张图片

等待插件的安装

Jenkins+Docker+Gitee+SpringBoot自动化部署_第5张图片
Jenkins+Docker+Gitee+SpringBoot自动化部署_第6张图片

Jenkins+Docker+Gitee+SpringBoot自动化部署_第7张图片

Jenkins+Docker+Gitee+SpringBoot自动化部署_第8张图片

2.2 Jenkins配置Maven

Jenkins+Docker+Gitee+SpringBoot自动化部署_第9张图片

Jenkins+Docker+Gitee+SpringBoot自动化部署_第10张图片
最后进行保存

至此Maven的配置就完成了

2.3 Gitee插件的安装

Jenkins+Docker+Gitee+SpringBoot自动化部署_第11张图片

Jenkins+Docker+Gitee+SpringBoot自动化部署_第12张图片

2.4 创建SpringBoot应用

Jenkins+Docker+Gitee+SpringBoot自动化部署_第13张图片

配置application.yml文件
Jenkins+Docker+Gitee+SpringBoot自动化部署_第14张图片
并在main路径下创建docker目录并创建Dockerfile
Jenkins+Docker+Gitee+SpringBoot自动化部署_第15张图片

# 指定是基于哪个基础镜像
FROM java:8

# 作者信息
MAINTAINER linxin

# 挂载点声明
VOLUME /tmp

# 将本地的一个文件或目录,拷贝到容器的文件或目录里
ADD /target/springboot-helloword-1.jar springboot.jar

#shell脚本
RUN bash -c 'touch /springboot.jar'

# 将容器的8000端口暴露,给外部访问。
EXPOSE 8080

# 当容器运行起来时执行使用运行jar的指令
ENTRYPOINT ["java", "-jar", "springboot.jar"]

将代码推送到gitee仓库中,推送完后进入Jenkins进行配置

Jenkins+Docker+Gitee+SpringBoot自动化部署_第16张图片
Jenkins+Docker+Gitee+SpringBoot自动化部署_第17张图片

点击添加按钮添加一个Jenkins凭证,前往gitee.com 创建个人私有令牌。
Jenkins+Docker+Gitee+SpringBoot自动化部署_第18张图片
Jenkins+Docker+Gitee+SpringBoot自动化部署_第19张图片

最后进行保存

2.5 创建自动化部署任务

Jenkins+Docker+Gitee+SpringBoot自动化部署_第20张图片

Jenkins+Docker+Gitee+SpringBoot自动化部署_第21张图片
勾选git选项,并填写仓库地址
Jenkins+Docker+Gitee+SpringBoot自动化部署_第22张图片
分支默认为master,可自行调整。

Jenkins+Docker+Gitee+SpringBoot自动化部署_第23张图片
构建过程选择 执行Shell
Jenkins+Docker+Gitee+SpringBoot自动化部署_第24张图片

#!/bin/bash -il
docker rm -f hello-word
sleep 1
docker rmi -f hello-word:1.0
sleep 1
mvn clean install -Dmaven.test.skip=true
sleep 1
docker build -t hello-word:1.0 -f ./src/main/docker/Dockerfile .
sleep 1
docker run -itd -p 8080:8080 --name hello-word hello-word:1.0

该脚本表示删除正在运行的hello-word容器,并删除hello-word:1.0镜像,然后使用mvn命令打包从Gitee拉取来的项目代码,接着使用项目中的Dockerfile文件构建出一个镜像,名称为hello-word:1.0,最后运行该镜像。

点击保存即可

2.6 打包镜像并运行测试

点击【立即构建】即可
Jenkins+Docker+Gitee+SpringBoot自动化部署_第25张图片

点击构建记录即可查看控制台输出(PS:Maven目录映射在宿主机上,可根据需要换阿里Maven源

Jenkins+Docker+Gitee+SpringBoot自动化部署_第26张图片

Jenkins+Docker+Gitee+SpringBoot自动化部署_第27张图片
到此为止,已经打好了镜像并运行在docker中了,可以使用docker ps -a命令进行查看
Jenkins+Docker+Gitee+SpringBoot自动化部署_第28张图片
现在到浏览器访问 http://ip:port/say

Jenkins+Docker+Gitee+SpringBoot自动化部署_第29张图片

总结

1.先安装Jenkins,并设置挂载目录
2.配置环境变量
3.安装gitee插件
4.创建SpringBoot项目,并创建Dockerfile文件
5.新建自由风格项目,填写gitee仓库地址,配置构建执行的Shell命令
6.进行构建,并查看

你可能感兴趣的:(Docker,Java,Jenkins,docker,jenkins,spring,boot,java,自动化)