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)

相关推荐
zhz521411 小时前
服务器等保加固实施报告
运维·服务器·信创·国密·等保
s_w.h12 小时前
【 linux 】文件系统
linux·运维·服务器·算法·bash
duoduo_sing12 小时前
数据库备份终极方案:从脚本手动到自动化热备+异地同步实战
运维·数据库·自动化·用友
风曦Kisaki12 小时前
# Linux运维Day06:HAproxy负载均衡(代理调度软件对比)、Tomcat服务部署与LNMJ架构
linux·运维·负载均衡
Albert Edison13 小时前
【Docker】Ubuntu22.04 安装 Docker 教程
运维·docker·容器
五阿哥永琪13 小时前
Nginx入门教学+实战
运维·nginx
小快说网安14 小时前
云服务器抗 DDoS 只靠基础防护够吗?
运维·服务器·ddos
怎么没有名字注册了啊14 小时前
fedora 换源教程
linux·运维·服务器
codefan※14 小时前
一键部署私人 LLM:Ollama + Docker 极简指南
运维·docker·容器·大模型·llm·本地部署·ollama