从零开始:利用Jenkins实现高效自动化摆设

打印 上一主题 下一主题

主题 844|帖子 844|积分 2534

在这篇文章中我们将深入探讨如何通过Jenkins构建高效的自动化摆设流水线,资助团队实现从代码提交到生产环境摆设的全流程自动化。无论你是Jenkins新手还是有肯定履历的开发者,这篇文章都会为你提供实用的技巧和最佳实践,助你在项目摆设中走得更远、更快。
  目次
初识持续集成
Jenkins安装教程
Jenkins安装
更改工作目次
插件安装
中文设置
Jenkins根本利用
新建Job任务
初识持续集成

持续集成:指的是频繁地(一天多次)将代码集成到主干,它的好处注意有一下两个
   1)快速发现错误:没完成一点更新就集成到主干,可以快速发现错误定位错误也比较容易
  2)防止分支大幅偏离主干:如果不是经常集成主干又在不断更新,会导致以后集成的难度变大,甚至难以集成
  持续集成强调开发职员提交了新代码之后,立即举行构建、单元测试,根据测试效果我们可以确定新代码和原有代码能否正确地集成在一起,如下图所示:

持续交付:指的是频繁地将软件的新版本交付给质量团队或者用户以供评审,如果评审通过代码就进入生产阶段,持续交付可以看作持续集成的下一步。它强调的是不管怎么更新软件是随时随地可以交付的。持续交付在持续集成的基础上,将集成后的代码摆设到更贴近真实运行环境的「类生产环境」(production-likeenvironments)中,好比我们完成单元测试后可以把代码摆设到连接数据库的Staging环境中更多的测试,如果代码没有问题可以继续手动摆设到生产环境中。

持续摆设:持续交付的下一步指的是代码通过评审以后自动摆设到生产环境,持续摆设的目标是代码在任何时刻都是可摆设的,可以进入生产阶段。持续摆设的前提是能自动化完成测试、构建、摆设等步调。

   持续集成操作流程:根据持续集成的设计,代码从提交到生产整个过程有以下几步:
  1)提交:流程的第一步是开发者向代码仓库提交代码,全部后面的步调都始于当地代码的一次提交(commit)
  2)测试(第一轮):代码仓库对commit操作配置了钩子(hook)只要提交代码或者归并进主干就会跑自动化测试,测试的种类告急有以下几种,第一轮至少要跑单元测试:
  单元测试:针对函数或模块的测试
  集成测试:针对团体产品的某个功能的测试,又称功能测试
  端对端测试:从用户界面直达数据库的全链路测试
  3)构建:通过第一轮测试代码就可以归并进主干就算可以交付了,交付后就先辈行构建(build)再进入第二轮测试,所谓构建指的是将源码转换为可以运行的实际代码,好比安装依靠,配置各种资源(样式表、JS脚本、图片)等等,常见构建工具如下所示:
  Jenkins;Travis;Codeship;Strider,此中Jenkins和Strider是开源软件,Travis和Codeship对于开源项目可以免费利用。它们都会将构建和测试,在一次运行中执行完成
  4)测试(第二轮):构建完成就要举行第二轮测试,如果第一轮已经涵盖了全部测试内容第二轮可以省略,固然这时构建步调也要移到第一轮测试前面,第二轮是全面测试,单元测试和集成测试都会跑,有条件的话也要做端对端测试。全部测试以自动化为主,少数无法自动化的测试用例就要人工跑。需要强调的是新版本的每一个更新点都必须测试到,如果测试的覆盖率不高,进入后面的摆设阶段后很可能会出现严峻的问题。
  5)摆设:通过了第二轮测试当前代码就是一个可以直接摆设的版本(artifact),将这个版本的全部文件打包(tarfilename.tar*)存档,发到生产服务器,生产服务器将打包文件解包成当地的一个目次,再将运行路径的符号链接(symlink)指向这个目次然后重新启动应用,这方面的摆设工具有Ansible,Chef,Puppet等
  6)回滚:一旦当前版本发生问题就要回滚到上一个版本的构建效果,最简单的做法就是修改一下符号链接指向上一个版本的目次
  Jenkins安装教程

Jenkins:原名Hudson,2011年改为现在的名字,它是一个开源的实现持续集成的软件工具且能实行监控集成中存在的错误,提供详细的日志文件和提示功能,还能用图表的形式形象地展示项目构建的趋势和稳固性,其官方网址:官网 以及其插件地点:插件 ,如下图所示:

其告急特点如下所示:
   1)开源和免费的:Jenkins是完全开源的,任何人都可以自由下载、利用和修改源代码。这使得它在开发者社区中非常受欢迎。
  2)支持多种插件:Jenkins拥有巨大的插件生态体系,支持与各种工具宁静台的集成,好比 Git、Docker、Kubernetes、Maven、Gradle 等,极大地扩展了其功能。
  3)自动化构建与摆设:Jenkins可以自动化整个构建、测试和摆设过程,确保每次代码提交都能经过完备的质量检查,并自动摆设到指定环境中,从而减少了人工干预和错误。
  4)可扩展性强:通过插件机制和分布式构建架构,Jenkins可以轻松地扩展到多个节点适应不同规模的团队和项目。
  5)易于配置和利用:Jenkins提供了友爱的图形用户界面(GUI)和Web界面,用户可以通过简单的配置界面创建和管理流水线,无需复杂的下令行操作。
  6)支持多种编程语言宁静台:Jenkins不依靠于特定的编程语言或平台,支持Java、Python、Ruby、Node.js等多种开发语言,几乎可以与任何开发环境兼容。
  7)强盛的社区支持:由于其广泛的利用,Jenkins拥有一个活泼的开发者社区,提供了大量的文档、教程和技能支持,资助用户解决问题。
  8)持续集成与持续交付(CI/CD):Jenkins在持续集成和持续交付方面非常精彩,可以大概自动化从代码集成到最终交付的整个流程,有助于提高开发服从和软件质量。
  Jenkins安装

接下来我们开始正式的安装Jenkins,来到官网点击下载然后安装文档版本即可,根据自身环境选择不同的安装平台,这里我就以windows平台举例,如下选择该平台举行下载安装即可:

下载完文件之后,我们双击文件举行下载,这里推荐非体系盘(C盘)文件路径举行下载即可:

接下来进入账户选择界面,没有账户的直接选择第一个即可,然后点击下一步:

然后下一步来到端口的选择,默认是8080,可以点击下面的测试端口按钮校验是否端口被占用:

下一步来到了jdk版本的选择,请先确保你电脑上是有jdk版本的,如果没有得提前安装配置一下:

选择完jdk版本之后,这里直接默认下一步然后点击Install举行安装即可:

然后完成之后我们来到欣赏器,输入localhost:8080就会举行到一个默认的界面如下,界面中告诉了我们初始暗码已经被生存到当地的某个文件当中,我们找到该暗码然后粘贴到输入框中即可:

输入完暗码之后来到了插件选择的界面, 因为在安装插件的过程中可能由于插件过大导致页面卡住,所以这里我们选择第二个自界说插件的安装:


然后接下来开始创建第一个管理员账户,因为是当地操作,账户暗码简单来就行:admin和123456

接下来开始进入到实例配置中,因为是当地安装所以域名就是默认的localhost,后期如果要安装到服务器的话,在服务器中域名直接设置服务器的ip地点即可:

点击生存继续之后,接下面就会进入到我们的Jenkins操作控制台了,如下所示:

更改工作目次

上面的安装过程中,默认我们的Jenkins工作目次安装到C盘了,这里我们需要重新更改其工作目次,如下找到我们原本设置安装Jenkins的目次当中,找到下面的文件,然后将原本的C盘的工作目次更改为我们自界说的D盘目次:

然后来到我们之前找输入暗码的C盘文件的谁人目次当中,将这个目次下的全部文件全部copy到我们设置的工作目次当中:

然后我们打开任务管理器,搜索Jenkins服务,对该服务举行重新启动:

然后重新在欣赏器中打开我们的Jenkins平台,输入账户暗码之后来到管理体系界面,可以看到外面的工作目次已经生效了:

插件安装

之前我们是没有安装插件然后举行安装Jenkins的,这是因为如果我们直接安装插件是特殊的卡的,需要我们配置一下安装的国内镜像源才可以流畅的下载插件,镜像源如下所示:
  1. https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
复制代码
配置镜像源:然后我们在Jenkins平台中安装如下目次找到配置镜像源的地方,举行生存即可:

修改服务器配置:接下来还需要修改一下对应的服务器配置,举行jenkins工作目次下的/updates/default.json,将此中的文件内容举行一些替换,如下所示:
  1. updates.jenkins-ci.org/download替换为mirrors.tuna.tsinghua.edu.cn/jenkins
  2. 有些jenkins版本当中,是将
  3. updates.jenkins.io/download替换为mirrors.tuna.tsinghua.edu.cn/jenkins
复制代码

然后把www.google.com换成www.baidu.com,如下所示:

重新启动服务:接下来我们就需要重新启动Jenkins服务,重新登录Jenkins之后,进入插件管理中心就可以爽直的安装各种插件了:

点击安装之后可以看到我们的安装速度黑白常快的, 几秒钟之后相关的依靠就已经安装乐成了:

中文设置

接下来我们可以安装一个语言的插件,然后对我们的平台举行中文设置,插件安装如下所示,安装完插件之后举行重启即可,重启方法在URL的后面加上restart,例如http://localhost:8080/restart,然后选择Configure System找到Locale选项输入zh_CN勾选下面的选项,点击Apply和save即可:

如果上述方法没有效果,直接安装下面的这个插件,重启即可:

可以看到我们的平台已经部分实现中文化了,还是可以的:

Jenkins根本利用

Jenkins中有3大告急概念:
   1)Job(任务/工程):在Jenkins平台中都是以Job(任务/工程)为单位去完成一件事情的。
  2)plugin(插件):Jenkins提供平台集成各种插件来完成一个Job,想用jenkins平来做什么先找找有没有相应的插件,好比windows下令、Linux下令的支持、SVN和Git代码获取、邮件发送,测试报告集成等都需要安装相应的插件才可以大概在jenkins当中利用这些功能
  3)workspace(工作空间):Jenkins是通过文件形式来存储和管理数据的,在安装Jenkins要指定一个Jenkins_Home目次,全部Jenkins相关的数据都存放在此目次下,workspace即给jenkins指定一个专门的目次来存储其全部的配置和数据。Jenkins的workspace是根目次,其下每个Job都有属于本身的workspace,每个job的workspace当中用来存放本任务涉及到的数据/文件,以及任务执行完成后天生的数据/文件,相当于给每一个job开发了一个独立的文件夹
  新建Job任务

接下来我们新建一个Job任务来实现一个前端编译打包的功能:

下面选择任务的类型,第一个就是自界说项目配置,其他配置是按照安装的插件举行设置的,这里我没有安装插件就只有一个自界说配置,那我们选择它好了:

然后我们点击确定之后,创建的任务告急分为以下六个步调举行:
   1)General(通例):在这个部分设置任务的一些根本信息,为任务添加形貌通常用于说明这个任务的功能和用途,以及设置一些包的生存环境:
  

   2)源码管理(Source Code Management):配置该Job需要从哪里获取源代码,可以选择不同的源码管理工具,通常Git是最常用的,配置Git仓库的URL和认证信息可以指定分支、标签或提交,还可以设置是否在构建之前执行拉取代码操作或是通过定时更新源代码:
  

   3)Triggers(构建触发器):设置任务触发的条件可以选择多种触发方式,例如每周、每天或每小时运行一次,通常利用Cron表达式,当Git仓库中的代码发生变更(如推送代码时)自动触发构建,通过其他体系的API或脚本触发该任务 
  

这里我们可以选择按照日期定时发送任务,例如:
  1. 定时任务:
  2. 分钟:0-59
  3. 小时:0-23
  4. 一月的天数:1-31
  5. 月份:1-12
  6. 一周的天数:0-7(0和7表示周天)
  7. 例如:
  8. 1)每天晚上20点整自动执行
  9. 0 20 ***
  10. 2)一周1,3,5晚上20点整执行
  11. 0 20 ** 1,3,5
  12. 3)每周周1 —— 周5晚上20点整执行
  13. 0 20 ** 1-5
  14. 4)一周内每2天,晚上20点整执行
  15. 0 20 *** /2
复制代码

   4)Environment(环境变量):在这里可以为构建立置环境变量供后续的构建步调利用,可以为构建过程设置一些环境变量(例如路径、版本信息等),配置代理、身份验证、代理服务器等环境信息,确保构建可以大概顺遂执行:
  

   5)Build Steps(构建步调):界说任务在执行过程中要举行的具体操作,可以选择多种构建工具和构建方式,根据需要选择其他的构建工具,执行构建、打包、发布等操作:
  

   6)构建后操作(Post-build Actions):构建完成后执行的一系列操作,通常是摆设、通知等,好比触发其他 Jenkins 任务,或者执行外部脚本:
  


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

tsx81428

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表