Jenkins

Jenkins介绍

Jenkins来源于Hudson。在2009年,Oracle收购了Sun并继承了Hudson的基础代码。在2011年,Oracle和开源社区关系紧张,hudson分成了两个项目:

  • Jenkins:被大多数的Hudson开发者所运营
  • Hudson:被Oracle所控制

简介

Continuous Integration(CI)是现代软件开发领域的基石,它改变了团队对于整个开发过程的理解。一个好的CI架构能够使得从开发到部署顺序进行,更快地发现和修复bug,最终给客户带来更多的价值。每个专业的开发团队,无论打还是小都应该采用CI。

持续集成(CI)基础

在引入CI之前,开发团队的很大一部分精力都被用在集成阶段。在这个阶段中,每个独立的开发者或者每个团队将他们开发的各个模块集成为一个可以工作的产品。在这个过程中可能会出现几个月的冲突解决。并且各种问题在这个过程中都会出现而且非常难以解决。最终可能导致发布延迟和其它无法预计的损失。持续集成的出现解决了这些问题。

持续集成是一个监视你版本控制系统改变的软件。每当代码改变的时候,这个工具自动的编译和测试你的应用。如果出现了错误,这个工具立即通知开发者,因此开发者能够立即修复问题。而且它还能自动地监测代码质量和测试覆盖率。可视化的代码质量度量方案能够鼓励开发者不断地改进他们的代码。

持续部署(Continuous Deployment)是自动地讲每次成功的构建直接部署到生产环境中。

持续发布(Continuous Delivery)与持续部署(Continuous Deployment)有稍微的不同。持续发直接布的版本通过了所有的自动化测试和其他的质量检测手段,可以通过点击的方式完全自动化的部署到生产环境中,并且用户就可以直接使用了。然而,这个过程不是自动的,它是由业务决定最好的发布时间而不是由IT直接发布的。

持续集成需要整个团队的维护。例如:

自动化的不需要认为参与的构建过程;

出现失败的构建需要立即修复;

部署的过程需要自动化不需要人为参与;

代码需要由足够的测试来保证代码的质量;

Jenkins介绍

Jenkins起源于Hudson,占据了很大的市场份额,可被各种大小的团队和用不同语言(.NET,Ruby,Groovy,Grails,PHP等)开发的项目使用。优点如下:

  • 易用性;
  • 可扩展。插件覆盖了版本控制系统,构建工具,代码质量度量工具,通知工具,和其它外部系统进行集成,UI自定义等;
  • 活跃的社区;
  • 稳定版本的支持。Long-term Support(LTS)发布。**

产品发布流程

产品设计成型 -> 开发人员开发代码 -> 测试人员测试功能 -> 运维人员发布上线

持续集成(Continuous integration,简称CI)

持续交付(Continuous delivery)

持续部署(continuous deployment)

相关推荐
qeen8714 分钟前
【Linux】Linux环境下的进程终止与进程等待问题
linux·运维·服务器
机核研创社1 小时前
短裤自动化工序与设备清单:十个点位、三项技术要点与选型裁决顺序
运维·自动化
尹人入圣1 小时前
市面上IP驱动产业新场景新工具
运维·网络·python·tcp/ip
JieDavid3 小时前
奇智创达知识产权管理系统期限监控模块实操,告别人工期限疏漏,实现管理闭环!
大数据·运维·人工智能·经验分享·重构
工作10年+,存储芯片行业3 小时前
Linux NVMe 中断排查与性能优化:IRQ 优化(原理+排查)
linux·运维·性能优化·ssd·nvme·pcie·中断
geats人山人海4 小时前
linux 1.目录结构
linux·运维·服务器
应用市场4 小时前
嵌入式Linux从裸板到产品(一):全景地图与交叉编译环境,从四个上板翻车现场说
linux·运维·服务器
CIMPro孪大师4 小时前
CIMPro×DPE | 不止是爆炸动画,AI原生数字样机如何让设备培训与运维更高效
运维·ai-native
皓月盈江4 小时前
Linux系统PC与Linux系统服务器通过scp上传与下载文件
linux·运维·服务器·scp·文件上传·文件下载
对讲机数码科普4 小时前
危化厂区防爆专网通信建设实践:从合规框架到验收清单
运维·网络·架构