Jenkins+gitee实现springboot项目自动化部署

  • 自动化部署

一、引言

  • 说在前面

    在实际开发中,我们经常要一边开发一边测试(不是开发人员对自己代码的单元测试,而是开发人员将代码提交合并后,由测试人员测试);或者前后端分离后,经常会修改接口,这些情况都会涉及到频繁的打包部署。在智慧的劳动人民面前,繁琐重复的工作必将消失在历史的舞台上,当手动部署已成昨日,舞台上的聚光灯将聚焦在自动化部署上。

  • 回顾历史
    传统的打包部署虽已成风,但不妨碍我们缅怀过去,回顾我们曾经手动部署的青春。手动打包常规步骤:

    1.提交代码

    2.拉取代码并打包(war包,或者jar包)

    3.上传到服务器

    4.查看日志(当前程序是否在运行)

    5.关闭当前程序

    6.启动新的jar包

    7.观察日志看是否启动成功

    8.如果这时候有同事说,自己还有代码没有提交…!!!!!
      
    emm…可以问问旁边的同事夜宵吃什么,准备叫外卖吧
    所以!自动化部署!!他来了!!!

当然,自动化部署的意义绝不仅仅如此。面对部署环境中不断增加的部署目标数量或者本身就庞大复杂的多组件应用程序,它的优势和好处会愈发明显。

二、走进自动化部署

  • Jenkins简介

    那么,如何能够实现将代码提交后就自动打包部署?答:Jenkins

    当然除了Jenkins以外,也还有其他的工具可以实现自动化部署,如Hudson、ElectricFlow等。只是Jenkins相对来说,使用得更广泛。

    Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。

  • 部署环境

    1.jdk环境,Jenkins是java开发的,需要依赖jdk环境。

    2.git/svn,拉取代码。

    3.maven/gradle,编译打包。

​ 以上为jenkins的基础环境,可以提前部署好,也可以在jenkins的全局配置中进行自动配置。

​ 本文以 CentOS8 为操作系统, Jenkins+ gitee 实现springboot 项目的自动化部署。

  • Jenkins自动化部署流水线原理图
    在这里插入图片描述

三、Jenkins

1、搭建环境
  • 准备jdk软件包、Jenkins软件包、插件安装包

    [root@jenkins ~]# ls -l
    -rw-r--r-- 1 root root 170023183 Aug 14  2018 jdk-8u181-linux-x64.rpm
    -rw-r--r-- 1 root root  74141787 Aug 13  2018 jenkins-2.99-1.1.noarch.rpm
    -rw-r--r-- 1 root root 164431230 Aug 14  2018 plugins.tar.gz
    
  • 安装Jenkins和jdk

    [root@jenkins ~]# rpm -ivh jdk-8u181-linux-x64.rpm 
    warning: jdk-8u181-linux-x64.rpm: Header V3 RSA/SHA256 Signature, key ID ec551f03: NOKEY
    Preparing...                          ################################# [100%]
    Updating / installing...
       1:jdk1.8-2000:1.8.0_181-fcs        ################################# [100%]
    Unpacking JAR files...
    	tools.jar...
    	plugin.jar...
    	javaws.jar...
    	deploy.jar...
    	rt.jar...
    	jsse.jar...
    	charsets.jar...
    	localedata.jar...
    [root@jenkins ~]# rpm -ivh jenkins-2.99-1.1.noarch.rpm 
    warning: jenkins-2.99-1.1.noarch.rpm: Header V4 DSA/SHA1 Signature, key ID d50582e6: NOKEY
    Preparing...                          ################################# [100%]
    Updating / installing...
       1:jenkins-2.99-1.1                 ################################# [100%]
    
  • 配置Jenkins

    [root@jenkins ~]# vim /etc/sysconfig/jenkins 
    JENKINS_USER="root"
    
  • 启动Jenkins

    [root@jenkins ~]# systemctl start jenkins
    [root@jenkins ~]# netstat -lntp |grep java
    tcp6       0      0 :::8080              :::*                LISTEN      19124/java
    
2、访问Jenkins

在这里插入图片描述

PS: a. Jenkins默认端口为8080 b. 加载界面需要稍微等待,如果加载时间过长,重启或断开本地网络重连试试

  • 登录
    在这里插入图片描述

根据红框内的路径查看初始密码

[root@jenkins ~]# cat /var/lib/jenkins/secrets/initialAdminPassword
  • 插件安装
    在这里插入图片描述

a. 本人建议稍后在Jenkins中配置国内的源后再进行插件的安装,否则安装速度会非常慢且很有可能安装失败。

b. 我们在之前也准备好了插件包,直接解压就好

[root@jenkins ~]# cp /root/plugins.tar.gz /var/lib/jenkins/
[root@jenkins ~]# cd /var/lib/jenkins/
[root@jenkins /var/lib/jenkins]# tar xf plugins.tar.gz
[root@jenkins /var/lib/jenkins]# ls -l plugins |wc -l
191
#设置权限
[root@jenkins /var/lib/jenkins]# chown -R root:root plugins
#重启Jenkins
[root@jenkins /var/lib/jenkins]# systemctl  restart jenkins
  • 欢迎界面登录账号密码
    在这里插入图片描述
3、配置
  • 系统管理 ->全局工具配置-> 配置 jdk、git、maven

在这里插入图片描述

  • 以git为例,可以通过 Path to Git executable 手动配置本地git路径,也可以选择自动安装,其他配置相同
    在这里插入图片描述
4、创建
  • 点击新建
    在这里插入图片描述

  • 构建自由风格的项目
    在这里插入图片描述

  • 源码管理
    在这里插入图片描述

  • 构建
    在这里插入图片描述

  • 构建触发器
    在这里插入图片描述

  • 构建后操作
    在这里插入图片描述

5、测试
  • 点击项目构建
    在这里插入图片描述

  • 构建成功后 访问tomcat
    在这里插入图片描述

  • 访问成功
    在这里插入图片描述

  • 修改代码后访问 修改成功

    PS:不同的构建策略 不同的触发方式 可以在构建触发器中进行配置

在这里插入图片描述
如果本篇博客对您有所帮助,欢迎点赞分享,您的肯定,是所有原创的动力。

  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值