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)

相关推荐
池央6 分钟前
NAS里的大文件怎么快速传?用Copyparty搭建轻量文件服务器
运维·服务器·cpolar
窝子面1 小时前
认识Docker与启动容器与镜像的关系
运维·docker·容器
编程序的员1 小时前
使用OpenTelemetry来监控GoLang应用
运维·golang·monitoring·apm·opentelemetry
羑悻的小杀马特2 小时前
把随身WiFi改成网盘聚合器:中兴F50挂载本地存储+夸克网盘实战
运维·服务器·人工智能·网盘·openlist
Yana.nice10 小时前
Linux 只保留 30 天内日志(find命令删除日志文件)
linux·运维·chrome
2601_9605679613 小时前
电商套图自动化效率的工程量化分析——从逐张生成到批量套图的架构演进
运维·架构·自动化
泡沫冰@14 小时前
使用Jenkins时的常见问题以及Podman容器+Jenkins流水线落地方案
jenkins
吳所畏惧14 小时前
宝塔面板Redis密码修改指南:SSH命令修改 vs 面板UI界面修改,哪个更靠谱?
运维·服务器·数据库·redis·缓存·ssh
HiDev_14 小时前
【非标自动化】2、认识元器件(确定目标)
运维·自动化
Zhang~Ling15 小时前
从 fopen 到 struct file:从零开始拆解 Linux 文件 I/O
linux·运维·服务器