Jenkins基础教程(5)应该使用Jenkins 还是Hudson:Jenkins与Hudson:两个老头的相爱相杀,我为什么选择它?

你以为是同一个工具的两个名字?错了,它们早已分道扬镳,而选择哪一个,可能直接影响你的项目效率。


1. 渊源:一山不容二“老头”

要理解Jenkins和Hudson的关系,我们得回到过去。

1.1 从Hudson开始的故事

Hudson是由Sun公司在2004年启动的持续集成工具,第一个版本于2005年在java.net发布。到2007年,Hudson逐渐取代CruiseControl和其他开源构建工具,成为市场领头羊。

它在2008年JavaOne大会上还获得了“杜克选择大奖”。

1.2 分道扬镳

2010年Oracle对Sun的收购改变了一切。所有权问题导致项目贡献者和Oracle之间出现分歧,最关键的是“Hudson”这个商标名称的归属问题。

当Oracle在2010年12月声明拥有该名称并申请商标的权利后,矛盾激化了。

2011年1月,社区投票决定将项目名称从“Hudson”改为“Jenkins”。一个月后,Oracle表示将继续开发Hudson,认为Jenkins只是一个分支。

于是,一个社区分裂成了两个项目

1.3 截然不同的命运

分叉后,两个项目的命运截然不同:

  • Jenkins:社区活跃,迅速发展。到2013年12月,GitHub上的Jenkins拥有567个项目成员和约1,100个公共仓库
  • Hudson:日渐式微。同期只有32个项目成员和17个公共仓库

更明显的是,Hudson最新的版本发布于2016年,而Jenkins的开发却异常活跃。所以当有人问你“应该使用Jenkins还是Hudson”时,答案非常明确:选择Jenkins

2. 基础:Jenkins是什么,能做什么?

2.1 Jenkins的自我修养

Jenkins是一个自包含的、开源的自动化服务器,可用于自动化与构建、测试和交付或部署软件相关的各种任务。

它可以安装在几乎所有有Java运行环境的机器上。

2.2 不只是持续集成

虽然Jenkins最初以其持续集成能力闻名,但现在的Jenkins已经扩展到整个CI/CD(持续集成/持续交付)领域

它主要实现三种自动化:

  1. 触发自动化:通过定时触发、代码库变更等规则自动触发任务
  2. 执行自动化:执行用户定义的构建、测试、部署流程
  3. 通知自动化:将任务结果通知给相关人员

需要注意的是,Jenkins并不是“什么都能做”的魔术师。它的强大在于支持各种方式来调用自动化脚本,如Ant、Maven、Shell、Batch、PowerShell、Python、Groovy等。

但自动化脚本是需要用户自己去编写的


3. 实践:从概念到第一个流水线

3.1 核心概念解析

在深入Jenkins之前,先了解几个关键概念:

  • Node(节点):指能够执行Jenkins任务的机器,分为主节点和代理节点
  • Agent(代理):本质上与Slave是同一个概念,只是更政治正确的新称呼
  • Stage(阶段):流水线中的一个逻辑划分,如构建、测试、部署
  • Step(步骤):阶段内的具体执行步骤

在脚本式流水线中使用node

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

值引力

持续创作,多谢支持!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值