一 jenkins是什么?
Jenkins是开源CI&CD软件领导者, 提供超过1000个插件来支持构建、部署、自动化, 满足任何项目的需要,起源于Hudson(Hudson是商用的),主要用于持续、自动的构建/测试软件项目、监控外部任务的运行(这个比较抽象,暂且写上,不做解释)。Jenkins用Java语言编写,可在Tomcat等流行的servlet容器中运行,也可独立运行。通常与版本管理工具(SCM)、构建工具结合使用。常用的版本控制工具有SVN、GIT,构建工具有Maven、Ant、Gradle。
二 特点是什么?
1.持续集成和持续交付
作为一个可扩展的自动化服务器,Jenkins可以用作简单的CI服务器,或者变成任何项目的连续交付中心。
2.简易安装
Jenkins是一个独立的基于Java的程序,可以立即运行,包含Windows,Mac OS X和其他类Unix操作系统
3.配置简单
Jenkins可以通过其网页界面轻松设置和配置,其中包括即时错误检查和内置帮助
4.插件
通过更新中心中的1000多个插件,Jenkins集成了持续集成和持续交付工具链中几乎所有的工具。
5.扩展
Jenkins 可以通过其插件架构进行扩展,从而为 Jenkins 可以做的事提供几乎无限的可能性。
6.分布式
Jenkins可以轻松地在多台机器上分配工作,帮助更快速地跨多个平台推动构建,测试和部署
7.跟第三方工具集成非常友好
Jenkins跟目前主流比如容器化应用平台k8s,团队协作平台jira,监控平台(zabbix等)
产品发布流程是什么?
产品设计成型 -> 开发人员开发代码 -> 测试人员测试功能 -> 运维人员发布上线
持续集成 (Continuous integration,简称CI)
持续交付(Continuous delivery)
持续部署(continuous deployment)
三 CI/CD是什么?
CI(Continuous integration,中文意思是持续集成)是一种软件开发时间。持续集成强调开发人员提交了新代码之后,立刻进行构建、(单元)测试。根据测试结果,我们可以确定新代码和原有代码能否正确地集成在一起。借用网络图片对CI加以理解。
CI
CD(Continuous Delivery, 中文意思持续交付)是在持续集成的基础上,将集成后的代码部署到更贴近真实运行环境(类生产环境)中。比如,我们完成单元测试后,可以把代码部署到连接数据库的Staging环境中更多的测试。如果代码没有问题,可以继续手动部署到生产环境。下图反应的是CI/CD 的大概工作模式。
CICD
下面是几张测试环境小截图:
Blue Ocean流水线构建
流水线构建列表展示
monitor 视图构建
项目列表
今天就介绍到这里后期主要是针对jenkins的安装配置以及实战应用,大家记得点点关注呦!