文章目录
前言
jenkins的概念
什么是DevOps
jenkins特性
持续集成的流程
总结
【循序渐进学运维】DevOps工具篇 主要针对的是DevOps常用的工具,比如jenkins,gitlab, docker等工具的结合使用。
前言
持续集成,一定要有一个持续集成服务器的参与,而jenkins就是搭建持续集成服务器,能够完成自动化构建的一款非常好的软件。
所以我们今天来探讨下jenkins这款软件的相关内容
jenkins的概念
jenkins官网: https://www.jenkins.io/
Jenkins是一个开源的、可扩展的持续集成、交付、部署(软件/代码的编译、打包、部署)的基于web界面的平台。允许持续集成和持续交付项目,无论用的是什么平台,可以处理任何类型的构建或持续集成。
jenkins 是用java开发的,一款开源的自动化服务器,我们只需要通过界面或者jenkinsfile告诉jenkins,执行什么任务,什么时间执行,就可以
持续集成: CI
持续部署: CD
什么是DevOps
高胜寒搜了很多答案,只有*的答案比较贴切。
*给出了定义:
DevOps 是一种重视软件开发人员(Dev)和运维人员(Ops)之间沟通合作的文化,运动和惯例。 通过自动化软件交付和架构变更的流程,使的构建,测试,发布软件能够更快,频繁和可信
其实*的定义也不是很全面,但正是因为devops的定义没有标准,所以devops到底是什么,这些年来吵得不可开交。 不过所有的定义都透漏出一个信息,那就是能够更快,更好的交付软件。
很多大佬在谈及DevOps的时候都会说到jenkins,接下来我们看看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等。
持续集成的流程
- 开发人员每天提交代码提交到gitlab代码仓库;
- jenkins使用git工具到gitlab里面去拉取代码到集成服务器(jenkins),在配合JDK,maven等软件完成代码的编译,代码测试与审查,测试,打包等工作,如果在执行的过程中出错,将重新执行整个流程
- jenkins把生成的jar包或者war包分发到测试服务器或者生产服务器,用户就可以从网站访问应用
在上述jenkins的整个流程中,其实还有一些地方需要考虑,我们会在后面的文章中着重介绍。
比如:
- gitlab如何知道自己代码更新
- jenkins如何知道gitlab代码更新了
- enkins依靠什么插件进行拉取
- jenkins依靠什么插件进行部署操作
部署和发布的区别:
部署: 把软件部署在远程的服务器上,但是用户还不能访问
发布: 用户已经可以访问
比如一个软件新增了一些功能,只有当用户看到了新功能的时候才交发布成功,单纯部署在服务器上叫部署。
总结
本文【DevOps】持续集成的流程及jenkins的介绍中我们主要探讨了持续集成的流程,也是代码或者软件发布的流程, 这整个的流程中,我们会用到jenkins和gitlab,所以下一次,我们着重来讨论jenkins和gitlab的使用。
关注极客运维之家,更多内容等你哦!