文章目录
jenkins介绍
Jenkins作为业内运维运用最为广泛的工具,在于把传统意义上的运维工作与开发工作完美地结合在一起,作为传统意义的从事运维工作的相关人员很多工作都在命令和脚本间游走但工作内容就成了黑盒,如何管理如何协同是我们需要考虑的问题,Jenkins在运维工作中起到了承上启下的工作,它的前台界面方便我们直观的收集执行的job的所有相关信息,最终实现高效、可扩展、全自动的部署平台
- Jenkins是一个开源持续集成工具,提供了软件持续集成开发的服务,支持很多的主流软件配置管理工具与其配和实现软件配置管理持续集成功能
- 开发工具:Java
- 功能:提供了软件开发的持续集成服务
- 特点:支持主流软件配置管理,配合实现软件配置管理,持续集成功能
jenkins的优势和应用场景
优势:
- 是主流的运维开发集成平台,兼容所有主流开发环境,可以将平时开发、测试、部署、基础运维浓缩到每一个job当中配合其强大的兼容性匹配目前大中小工作当中所有的开发环境,无论是Linux下的centos、Redhat、Windows、docker虚拟机都可以在这些平台下搭建Jenkins系统这样Jenkins就可以完全涵盖所有的主流开发环境,保证我们不同的开发环境都能在Jenkins上正常运转
- 插件市场可海量业务主流开发工具实现集成,Jenkins内嵌强大的插件平台,能够与海量业务主流开发工具实现集成,方便将不同类型的数据在开发工具中调用处理,Jenkins之所以称之为持续集成系统工具优势在于能够利用其强大的内嵌插件市场平台下的集成插件与主流开发工具实现系统工具间的数据调用,帮助我们将不同工具的功能通过API或者命令行的形式在Jenkins下运转执行,例如我们可以调用gitlab或者GitHub的插件去与其进行git的数据交互实现克隆、抓取、推送等操作可以利用插件给Jenkins传入仓库地址,去(??)在实现代码静态扫描,最终生成的报告可以检查代码的语法是否不规范、是否有bug、缺陷等有助于开发人员提高代码质量,通过meavn插件传入对应的参数对代码实现编译、测试、打包并最终上传到代码仓库
- Jenkins job为配置单位与日志管理,使运维与开发人员能协同工作 #Jenkins以job为配置单位及日志管理打开了运维与开发人员间的黑盒,所有人都可以通过对某一个job的操作配置得到自己想要获取的信息,作为开发或者测试人员,在Jenkins平台可以无需关注如何搭建这个平台以及job配置部署如何实现,只需要将项目所需要的参数传给Jenkins下对应项目的具体job,Jenkins就会帮助完成所有的部署,这样就能让开发测试人员更多的关注到项目代码的实现与项目测试当中无需花费时间到部署工作中,作为运维人员就可以关注具体的平台搭建工作,通过监控Jenkins系统的相关指标保证Jenkins在一个健康状态下运转以及关注项目部署过程中出现的权限、参数配置、工作调用等问题,从而无需关注代码层面的问题
- 权限管理划分不同job不同角色 #Jenkins严谨的权限管理功能,充分的划分了每个人在开发周期内对每一个job的不同角色,可以设定不同的用户登录系统后具有不同的权限,例如开发与测试j只能有job任务field以及查看日志的权限从而对代码日常的测试部署等操作,运维人员在开发人员的基础上对job任务具有写入的权限,从而进行日常的任务编写,这样就可以保证大家不会越权去操作别人的任务,提高项目的安全性
- 强大的负载均衡功能,保证我们项目的可靠性 #Jenkins强大的负载均衡功能,可以让job游走在Jenkins集群当中,保证我们具体开发中的可靠性,Jenkins不仅仅是一个独立的系统,他可以在创建后作为一个master节点然后衍生出若干个子节点,从而组合到一起组成一个Jenkins集群,这个集群