jenkins实现持续集成、持续部署

前言:
安装jenkins的教程:docker搭建jenkins

一、分析我们需要做什么才能实现持续集成、部署

1、分析jenkins需要帮我们做哪些内容

想要利用jenkins实现持续集成、持续部署,首先我们先思考需要jenkins帮我们做些什么事情才能达到这个目的。首先开发人员提交了代码jenkins应该知道这个变动;其次jenkins知道代码变更后,想要拉取代码,此时要求jenkins服务器上也要有代码拉取的终端,比如git、gitee等;再其次拉取完代码后jenkins就需要打包这些代码成为jar包或者war包,这就需要maven、gradle等打包工具;再然后jenkins需要将这些jar包部署到目标服务器,那就需要相应的插件和脚本来部署这些jar或者war包。这样分析下来jenkins如何实现持续集成和部署就很明了了,如下图所示就是jenkins实现持续集成和部署的逻辑图。可以看到我们分析的步骤jenkins都是帮我们做完了的(下图从左往右看)。
在这里插入图片描述

2、拆分需要实现的步骤

根据上面的图,笔者将这幅图拆成了四步如下图所示。
第一步:配置钩子通知jenkins代码变更。
第二步:jenkins收到变更后git拉取远端变更的代码。
第三步:配置maven打包拉取到的变更代码。
第四步:配置构建工具和shell实现部署。
这样整个流程就很清晰了,我们按照这个来去配置jenkins的持续集成和部署吧。
在这里插入图片描述

二、配置持续集成和部署

这部分介绍具体如何实现持续集成和部署的,这里分的四步是对整个过程的拆解。

0、前置条件

这里简单列下做成这个小案例前置条件。对于当前案例来说是必须的。对于内网的代码和内网的jenkins服务器来说则不是非必须。

  • 1)写了一个demo的小项目,已经放在了git或者gitee上面。
  • 2)若是代码在外网,则需要一台公网ip的服务器(不配置钩子不需要公网ip),若是代码在内网比如自己公司的gitlab,则也不需要公网ip

1、实现第一步:配置钩子

  • 什么是钩子?
    这里就是个新名词,他的作用就是当git上的代码发生异动时,可以立刻通知到jenkins,这就是钩子干的事。这里就从开始来介绍这个钩子的配置吧。
  • 1)创建一个“自由风格的软件项目”
    在这里插入图片描述
    进去后发现最上方有6个小栏需要我们配置,不要进来进被这6个小栏吓到了感觉需要配置很多东西似的,其实需要配置的很少,笔者这里已经将每个小栏需要干得事情列出来了,其中有两个栏没列,是因为这俩栏可以不用配置,并不影响使用。有兴趣的话可以看下这两个,他们都可以看成是扩展的内容,不影响主体。
    在这里插入图片描述
  • 2)点到“构建触发器”一栏,开始配置钩子
    这里有很多选择,我们选择的是使用功能钩子来触发,钩子触发默认就是在git中收到了push就会触发钩子通知jenkins。只需要勾选下方标红的区域即可。可以看到标红位置后面又一端url:http://123.57.188.184:8080/gitee-project/firstJob,这就是需要配置到git中钩子通知的地址。
    在这里插入图片描述
    勾选上方标红的位置后,会弹出一大片东西,其实初次使用jenkins弹出内容这里面的我们都可以不用动,等使用熟练了再来研究哪些是需要自己进一步扩展的,初次使用我们就使用默认的即可。其次找到刚刚弹出内容的最下方位置,点击“生成”按钮,生成一个密码,这个密码是git与jenkins交互的凭证,密码这里就不展示了。到这里jenkins端我们就配置完成了。
    在这里插入图片描述
  • 3)在gitee上配置钩子
    jenkins端已经配置完毕,下面来配置下gitee/git上的钩子吧,在下图所示位置,添加刚刚取的的url:http://123.57.188.184:8080/gitee-project/firstJob,和刚刚钩子的密码。
    在这里插入图片描述
    在这里插入图片描述
    到这里钩子就配置完成了,主要是两步,在jenkins中选择钩子触发,然后获取触发地址和密码,配置在git上就可以了。其实很简单,只是介绍的比较细致就看起来比较长。

2、实现第二步:配置git/gitee/svn

这一步就比较简单了配置下我们代码的git地址和git的登录用户即可。

  • 点击“源码管理”一栏,配置git地址和账号即可(默认是master分支)。
    在这里插入图片描述

3、实现第三步:配置maven

这一步也很简单,点击“构建环境”一栏后,只需要选择下安装好的maven,配置下打包语句即可:clean install。如下图所示:
在这里插入图片描述
在这里插入图片描述

4、实现第四步:配置部署脚本

这一步也是以实现功能为主,不会做过多扩展。点击“构建后操作”一栏,选择Post built task(该插件需要手动安装,开篇的jenkins安装中有),然后填入shell语句即可。笔者这里只是在容器内进行启动的java应用,不建议和我一样做,我这是偷懒了(容器内启动会涉及端口映射的问题)。跨服务器的赋值就是scp其实也不难,都是一样的原理。下面是笔者构建部署服务的shell语句。

cp  /root/.m2/repository/com/cheng/jenkins_boot/0.0.1-SNAPSHOT/jenkins_boot-0.0.1-SNAPSHOT.jar /opt/service/
cd /opt/service/
java -jar jenkins_boot-0.0.1-SNAPSHOT.jar 

图片展示如下:
在这里插入图片描述
这样就完成了所有的配置了,来测试下吧。手动提交代码后,自动触发了jenkins的拉取代码、打包、部署等操作,我们只需要直接访问服务地址即可。这样也就成功了。
在这里插入图片描述
在这里插入图片描述

三、总结

这篇文章只是作为jenkins搭建CI、CD的入门文章,还有很多我们可以深入去研究的内容,总结这篇文章内容其实也就是搭建jenkins的四步:①配置钩子,②配置git,③配置maven,④配置构建部署shell。做好这四步其实就ok了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

归去来 兮

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值