1987WEB视界-分享互联网热门产品和行业

您现在的位置是:首页 > WEB开发 > 正文

WEB开发

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

1987web2023-10-06WEB开发114

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的下载、安装以及环境的搭建部署。

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

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的思维导图:

一、Jenkins安装

1、环境部署

下载Jenkins包

注意这里直接下载war文件,以Java服务的形式启动。

启动命令

java -jar jenkins.war--httpPort=8090

启动日志

Jenkinsisfully upandrunning

自动化集成:Jenkins管理工具详解

  • 下一篇

    纯手工打造每一篇开源资讯与技术干货,数十万程序员和Linuxer已经关注。

    导读本文开始介绍Jenkins的简单使用,关于Jenkins的安装,请参照Jenkins入门–安装;事例说明:在linux环境下,安装的jenkins,集成svn,tomcat的环境,项目是maven项目。

    Jenkins配置

    在Jenkins首页,点击Manage Jenkins,然后点击Manage Plugins插件管理,安装必要的插件,svn,maven,ssh等

    然后Jenkins首页,点击Manage Jenkins,然后点击Global Tool Configuration工具配置,配置JDK,Maven等

    Jenkins使用

    第一步:在首页新建一个任务,然后填入任务名,选择自由风格的项目

    第二步,项目名称,可不做修改

    第三步:添加svn地址,并设定好,用户名和密码

    第四步:构建时,有两种情况

    情况一,使用maven进行项目的构建,使用插件发布

    构建后操作,使用插件发布项目,进行项目的发布,项目发布需要使用的插件是(Deploy to container Plugin),发布到tomcat中,需要用到tomcat的用户名和密码,tomcat用户可以自己在tomcat中的conf/tomcat-users.xml文件中配置

    tomcat-users.xml配置

    Jenkins配置和使用详解