一文读懂Jenkins的前世今生,零基础学Jenkins必看教程(Jenkins部署+Jenkins安装+Jenkins持续集成)

Jenkins是一个开源的、可扩展的持续集成、交付、部署(软件/代码的编译、打包、部署)的基于web界面的平台。起源于Hudson(Hudson是商用的),主要用于持续、自动的构建/测试软件项目、监控外部任务的运行(这个比较抽象,暂且写上,不做解释)。

允许持续集成和持续交付项目,无论用的是什么平台,可以处理任何类型的构建或持续集成。

它可以在代码上传仓库(如github,gitee,gitlab)后,在jenkins(一个网站界面)中通过获取代码仓库中最新代码,进行自动化部署,而省去手动打包、上传服务器、部署这一系列步骤,非常方便。

一、Jenkins特性

开源的java语言开发持续集成工具,支持CI,CD;

易于安装部署配置:可通过yum安装,或下载war包以及通过docker容器等快速实现安装部署,可方便web界面配置管理;

消息通知及测试报告:集成RSS/E-mail通过RSS发布构建结果或当构建完成时通过e-mail通知,生成JUnit/TestNG测试报告;

分布式构建:支持Jenkins能够让多台计算机一起构建/测试;

文件识别:Jenkins能够跟踪哪次构建生成哪些jar,哪次构建使用哪个版本的jar等;

丰富的插件支持:支持扩展插件,你可以开发适合自己团队使用的工具,如git,svn,maven,docker等。

jenkins功能:打包发布
jenkins是流程化工具

打包工具(工具版本必须一致):

  • gradler
  • ant
  • maven

二、CI/CD是什么?

CI(Continuous integration,中文意思是持续集成)是一种软件开发时间。持续集成强调开发人员提交了新代码之后,立刻进行构建、(单元)测试。根据测试结果,我们可以确定新代码和原有代码能否正确地集成在一起。

借用网络图片对CI加以理解。

CD(Continuous Delivery, 中文意思持续交付)是在持续集成的基础上,将集成后的代码部署到更贴近真实运行环境(类生产环境)中。比如,我们完成单元测试后,可以把代码部署到连接数据库的Staging环境中更多的测试。如果代码没有问题,可以继续手动部署到生产环境。

下图反应的是CI/CD 的大概工作模式。

三、Jenkins的下载、安装以及环境的搭建部署。

后续的内容比较枯燥,如果你不想看长篇大论的文字,可以看看我录制的视频:

https://www.bilibili.com/video/BV17F41177dZicon-default.png?t=M4ADhttps://www.bilibili.com/video/BV17F41177dZ

1. jenkins官网下载地址:https://jenkins.io/download/

jenkins项目有两条发布线,分别是LTS长期支持版(或稳定版)和每周更新版(最新版)。建议选择LTS长期支持版,下载通用java项目war包。

2.下载jdk1.8以上版本并安装,安装后配置jdk的环境变量。(这里不再累述具体步骤)

3.在dos命令行运行命令解压war包:java -jar jenkins.war (默认情况下端口是8080,如果要使用其他端口启动,可以通过命令行”java –jar Jenkins.war --httpPort=80”的方式修改)

运行命令后jenkins.war会自动在C盘目录下生成一个jenkins的文件夹。C盘下的这个文件夹可独立运行。

4.在浏览器中访问jenkins项目:http://localhost:8080/jenkins 出现解锁 Jenkins界面,说明jenkins项目搭建完成,这里需要输入管理员密码。如下图:

上图中有提示:管理员密码在:C:\jenkins\secrets\initialAdminPassword 打开此文件获得密码并输入密码,点击”继续”按钮后如下图:

点击:【选择插件来安装】按钮,出现如下默认插件安装界面。

这个页面会默认选中安装一些插件,直接点击”安装”按钮,安装所有推荐的插件。

等待所有插件安装完成(耐心等待1-2个小时)。安装插件的时候,会有一些插件安装失败(如上图的X),这些插件的安装是有前置条件的,等安装结束后,按右下角“重试”,继续安装,之前失败的插件就都能安装了。安装完成后,点击“继续”按钮,

输入用户名:admin,密码:123456,确认密码:123456,全名:admin,电子邮件地址后点“保存并完成”按钮

点击“保存并完成”出现下图表示jenkins已经配置完成。点击[开始使用jenkins]登录。

到此,jenkins安装完成,可以开启jenkins持续集成之旅了!

四、使用Jenkins进行PHP代码(单元)测试、打包

接下来继续讲解如何使用Jenkins创建一个构建任务。

登录Jenkins, 点击左侧的新建,创建新的构建任务。

跳转到如下界面。任务名称可以自行设定,但需要全局唯一。输入名称后选择构建一个自由风格的软件项目(其他选项不作介绍)。并点击下方的确定按钮即创建了一个构建任务。之后会自动跳转到该job的配置页面。



下图是构建任务设置界面,可以看到上方的几个选项"General", “源码管理”, “构建触发器”,“构建环境”, “构建”, "构建后操作"。下面逐一介绍。

1.General

General是构建任务的一些基本配置。名称,描述之类的。


 

项目名称: 是刚才创建构建任务步骤设置的,当然在这里也可以更改。

描述: 对构建任务的描述。

丢弃旧的构建: 服务器资源是有限的,有时候保存了太多的历史构建,会导致Jenkins速度变慢,并且服务器硬盘资源也会被占满。当然下方的"保持构建天数" 和 保持构建的最大个数是可以自定义的,需要根据实际情况确定一个合理的值。

其他几个选项在这里不做介绍,有兴趣的可以查看Jenkins"帮助信息", 会有一个大概的介绍。不过这些"帮助信息"都是英文的。
在这里插入图片描述

2.源码管理

源码管理就是配置你代码的存放位置。


Git: 支持主流的github 和gitlab代码仓库。因我们的研发团队使用的是gitlab,所以下面我只会对该项进行介绍。

**Repository URL:**仓库地址

**Credentials:**凭证。可以使用HTTP方式的用户名密码,也可以是RSA文件。 但要通过后面的"ADD"按钮添加凭证。

**Branches to build:**构建的分支。*/master表示master分支,也可以设置为其他分支。

**源码浏览器:**你所使用的代码仓库管理工具,如github, gitlab.

**URL:**填入上方的仓库地址即可。

Version: 8.7 这个是我们gitlab服务器的版本。

**Subversion:**就是SVN,这里不作介绍。

3.构建触发器

构建触发器,顾名思义,就是构建任务的触发器。



触发远程构建(例如,使用脚本): 该选项会提供一个接口,可以用来在代码层面触发构建。这里不做介绍,后期可能会用到。

Build after other projects are built: 该选项意思是"在其他projects构建后构建"。这里不作介绍,后期可能会用到该选项。

Build periodically: 周期性的构建。很好理解,就是每隔一段时间进行构建。日程表类似 linux crontab书写格式。如下图的设置,表示每隔30分钟进行一次构建。


Build when a change is pushed to GitLab:当有更改push到gitlab代码仓库,即触发构建。后面会有一个触发构建的地址,一般被称为webhooks。需要将这个地址配置到gitlab中,webhooks如何配置后面介绍。这个是常用的构建触发器。

Poll SCM:该选项是配合上面这个选项使用的。当代码仓库发生改动,jenkins并不知道。需要配置这个选项,周期性的去检查代码仓库是否发生改动。
4.构建环境

构建环境就是构建之前的一些准备工作,如指定构建工具(在这里我使用ant)。


**With Ant:**选择这个工具,并指定ant版本和jdk版本。这两个工具的版本我都事先在服务器上安装,并且在jenkins全局工具中配置好了。

其他选项不作介绍,同样可以查看"帮助信息" 获得使用帮助。

最后,放上一张Jenkins的思维导图:

猜你喜欢

转载自blog.csdn.net/Cloud_Native/article/details/124739631
今日推荐