初识持续集成工具Jenkins
作为持续集成的利器Jenkins已经得到了广泛地应用,仅仅作为一个工具,Jenkins已然有了自己的生态圈,支持其的plugin更是超过1300+。在实际中如何使用以及如何更好地使用jenkins,一直是大家在实践并讨论的。本系列文章将会从如何使用jenkins方面对一些细节进行总结和整理,这篇文章将会带大家了解持续集成工具Jenkins。
什么是持续集成
在使用Jenkins之前我们先需要了解,Jenkins是什么工具,可以做什么。
首先Jenkins是持续集成工具,那么什么是持续集成,有什么作用呢?
在敏捷模式中,通常都是先开发一个小的模块,再逐渐和其他开发好的模块组合在一起来提高产品的完成度。这个过程称之为集成,通常由上传代码,构建应用,部署环境和测试等一系列步骤所组成。
但是如果这些步骤都由人手工来做的话,每次都会耗费大量的时间精力在重复的流程上面,所以就有人考虑把集成步骤交给工具来完成,然后不断的循环相同的流程,这个动作我们称之为持续集成。
为什么要持续集成
想象一下这个场景,我们实际的项目中经常会遇到这种情况,客户临时提出一个需求,让我们短时间内做出一个产品原型,然后客户看了满意之后再在这个产品原型的基础上提出一些新的需求点,然后不断迭代这个过程。
如果我们按照原来的瀑布流程来开发产品肯定是无法完成这个任务的,首先就卡在需求上,因为客户无法提供完整的需求,我们就无法根据需求来开发一个完成度很高的产品,那么客户就会产生不满,公司拿不到项目会因此丢单。
其次,时间问题,无法短时间内完成一个高完成度的产品,如果赶工可能会存在产品有重大缺陷无法被发布之前就发现,导致公司由此蒙受损失。
为了避免以上这些风险,持续集成就成了一个很好的解决问题方案,它能保证团队开发人员提交代码的质量,减轻了软件发布时的压力;
•持续集成中的任何一个环节都是自动完成的,无需太多的人工干预,有利于减少重复过程以节省时间、费用和工作量。
使用Jenkins做持续集成
支持持续集成的工具有很多,著名的有。。。
其中Jenkins作为其中的佼佼者,拥有自己的生态圈,社区也最繁荣,支持的插件数量也是非常庞大,因此常常作为各大企业项目组的持续集成工具的首选。
作为初学者,了解Jenkins的前提是有一个现成的环境,那么如果没有则需要自己搭建一个,现在我们学习如何搭建Jenkins
安装Jenkins
Jenkins作为一个跨平台应用,是可以搭建在任何主流操作系统上的。
安装Jenkins通常大概分为两种形式:
1. 直接下载对应操作系统的安装包,一键安装
2. 通过War包的形式部署
先来看第一种方式
1. 进入官网:https://jenkins.io/zh/download/下载对应平台的安装包
初学者请选择长期支持版本,这个稳定的版本。
如:你的操作系统是windows,就选择对应的windows版本。
点击链接下载好安装文件到本地硬盘上,打开安装文件,根据提示一步步默认安装
点击运行
选择安装,需要有管理员权限
等待安装
安装程序完成之后系统会自动启动Jenkins服务,并且打开浏览器访问服务。
由于服务的默认监听端口是8080,所以安装之前需要检查一下端口有没有被占用
如果发现就去任务管理器,找到对应的PID号来结束进程
第二种安装方式步骤比较简单。
首先确保Jenkins安装的机器上已经装好了JDK,(不知道JDK是什么的以及如何安装JDK请网上查询,有很多)
下载war包,所有平台都是一样的版本
下载到本地之后执行java -jar jenkins*.war
服务就会自动启动了。
配置Jenkins
接下来我们进入第二个阶段,配置Jenkins
首先会提示你输入密钥
根据提示的密钥位置,打开保存密钥的文件
复制密钥并填入,进入下一步
然后会提示你是否安装默认插件,选择安装,安装过程可能比较漫长(视个人网速而定),安装默认插件之后我们就可以正式开启Jenkins之旅了。
最后根据提示创建一个Jenkins用户,目的是为了管理自己的持续集成任务。
今后当前用户创建的任务只能被当前用户查看到。
第一个JenkinsJob
在Jenkins中,每一个持续集成任务都称作Job。这个Job就是我们前面提到的一系列具体动作的集合,如:提交代码,构建项目,测试,部署环境等等。
为了方便大家理解,这里把流程做一个简化,只写一个测试步骤。
首先创建一个Job,选择自由风格项目,写上任务名称,进入下一步
选择构建选项卡,点击增加构建步骤,选择执行windows批处理命令。
输入一个最简单的命令
保存这个任务,点击立即构建,任务就会自动排队执行了。
构建完成之后会有一个结果显示,如果成功显示蓝色,失败显示红色。
查看失败的原因可以点击失败的构建,进入构建记录,选择控制台输出,通过日志记录查看失败的原因:
以上就是关于持续集成工具Jenkins的简单介绍,由于篇幅所限,其他Jenkins的丰富内容我会放到其他文章里面进行研究分析。
附录:
处理乱码问题(windows环境)
通常windows默认文件处理编码为GBK,因此在Jenkins中文件输出编码可以设置成和操作系统编码一样既GBK,设置方法如下
在系统变量里添加启动参数:1.打开环境变量设置2.注意是新建,不是在什么path中新加,直接新建一个变量名为JAVA_TOOL_OPTIONS
变量值为-Dfile.encoding=GBK
设置后重新启动Jenkins服务即可。
-
上一篇
作者 | 金灵杰
尽管目前在 CI/CD 领域有着众多的平台,Jenkins 一直是最著名的持续集成平台之一。虽然它经历了和 Oracle 的争斗,最终从之前的 Hudson 单独分离出来,但是凭借社区和大公司的支持,目前 Jenkins 有超过 1500 个插件,用于支撑整个持续集成流程。
不过由于插件数量众多,要选择一些合适的 Jenkins 插件会比较困难,本文介绍了一些比较有用的 Jenkins 插件,能够提升开发者效率。
Job DSL Plugin
对于很多开发者来说,不同的仓库和项目分支都需要去 Jenkins 上重新创建任务。这是一个重复且单调的工作,对于开发者来说非常不友好。
Jenkins Job DSL Plugin 可以让开发者通过 Groovy 脚本来定义和配置任务,随后插件会通过执行这些脚本来维护 Jenkins 任务。这样开发团队可以定制自己的模板文件,通过领域特定语言(Domain Specific Language,DSL)直接定义和创建任务。
https://github.com/jenkinsci/job-dsl-plugin
Job Generator Plugin
和 Job DSL Plugin 类似,Job Generator Plugin 也是用于快速创建任务。对于大团队来说,整个持续集成流程应该类似,不同的项目的区别主要就是代码分支等。该插件可以让团队的配置管理员为整个团队定义一个参数化的模板,项目开发人员可以通过这个模板快速的在 Jenkins 上创建出任务。
该插件和 Job DSL 插件的最大区别是使用者无需了解 Groovy。
https://wiki.jenkins.io/display/JENKINS/Job+Generator+Plugin
Performance Plugin
该插件可以读取和解析测试框架输出的报告,并且在 Jenkins 上绘制性能和稳定性相关的图表。Performance Plugin 支持的测试框架有 JUnit、JMeter, Twitter 的 Lago 和 Taurus。下图是该插件输出的示例图:
https://plugins.jenkins.io/performance
推荐10款最佳Jenkins插件
-
下一篇
Jenkins宣布仅支持Java11及以上版本
出品|OSC开源社区(ID:oschina2013)