写点什么

Hudson 以新版本编号 2.0.0 重新登场

2011 年 4 月 27 日

Hudson 2.0.0 发布了!该版本使用了与 OSGi/Semantic 一致的版本编号。在此之前,Hudson(Jenkins 至今都是)遵循 JDK 的版本编号规则(具体而言,第一位版本号永远是 1,每次发布时第二位数字递增)。

Hudson 将来的版本编号将参照邮件列表中讨论的规则而确定,这一方法同样用于测试OSGi 整合项目之中。

与Jenkins 分开后,尽管Hudson 已经发布了多个新版本(2 月10 日发布的1.396 以及3 月14 日的1.398),但是这一新版本编号却意味着向前看的一次重要的重置。其重大改变之一是对Hudson 插件的基础设施的更改——允许通过 JSR 330 的依赖注入来配置插件。

Smoothie (或“Hudson-inject”)是 Sisu 上的一款适配器。这是一款建立在 JSR-330 之上的容器,它使得@hudson.Extension标注可被更加通用的@Named标注和@Inject标注所替换。此外,它还支持将组件定义成@Singleton,既保证了单例又避免了静态查找。再者,你还能创建非单例组件,在服务需要它时即可注入一个实例。

OSGi 兼容性是通过 Sisu 的辅助实现的,Sisu 是 Google Guice 的扩展(此前InfoQ 报道过),而且它依赖OSGi 支持依赖注入。需要注意的是,没有Sisu, Guice 自身既可用在 OSGi 中;其 3.0 版本提供了开箱即用的标准的 OSGi 互操作性。而 Sisu 所做的是,它不需要 OSGi 代码就可将 Guice 注入与 OSGi 服务绑定在一起,这使得 Guice 组件既可在 OSGi 容器内运行,也可无缝地运行在 OSGi 容器之外。 Nexus Maven 3 等使用的就是 Sisu 容器。

JSR330 兼容性也出现在 Jenkins 的路线图中;而且 Jenkins 中已经融合了其中的一部分规范。这意味着只要你想,就应该能在Jenkins 中使用Smoothie。

最后,Hudson 鼓励通过 oss.sonatype.org Hudson 插件发布到 Maven Central 中,同时提供文档介绍如何成功做到这一点。将来,Hudson 插件的开发重点是 JSR330 模型,不过为了向后兼容(和 Jenkins 的互操作性),对非 JSR330 模型的支持还将持续一段时间。对此项目感兴趣的人可以捉虫并报告缺陷,这有助于开发任务的优先级排序。


查看英文原文: Hudson Resurrected as Hudson 2.0.0

2011 年 4 月 27 日 09:132128
用户头像

发布了 184 篇内容, 共 64.9 次阅读, 收获喜欢 1 次。

关注

评论

发布
暂无评论
发现更多内容

架构师训练营 第4周学习总结

Glowry

极客大学架构师训练营

架构师是怎样炼成的 04-1互联网分布式系统架构演化

闷骚程序员

极客大学架构师训练营

使用 Python 制作酷炫多彩的 Jenkins 插件词云图

donghui2020

jenkins wordcloud

计算机操作系统基础(七)---作业管理之死锁

书旅

php laravel 线程 操作系统 进程

第四周作业

芒夏

极客大学架构师训练营

漫画:15张图,帮你看懂布隆算法

Java小咖秀

算法 面试题 布隆过滤器

聊聊Hystrix中的命令模式

老胡爱分享

Java 设计模式 Java 面试 命令模式

【6月】本月读书学到了什么

Neco.W

读书感悟 阅读量

架构设计之常识篇

魔曦

架构师 极客大学架构师训练营

理解了 1+2 的过程,你就理解了Java虚拟机

侯树成

JVM JVM原理

分布式计算DAG1-画猫

Hervor。

架构师训练营 第4周作业

Glowry

极客大学架构师训练营

架构师训练营作业-20200627

caibird1984

极客大学架构师训练营

极客时间架构师训练营 - week4 - 作业 1

jjn0703

极客大学架构师训练营

第四周总结

芒夏

极客大学架构师训练营

Golang中的Interface(接口),全面解析

Eriol

golang 接口 interface

架构师训练营总结-20200627

caibird1984

极客大学架构师训练营

架构师训练营第四周作业

Melo

漫画:对象是如何被找到的?句柄 OR 直接指针?

王磊

Java Java 面试

程序员面试与 HR 谈薪资技巧

张小方

面试 offer 程序员求职 年终奖 月薪

时间管理的本质到底是什么?

非著名程序员

程序员 提升认知 时间管理 程序员成长

可读代码编写炸鸡四(上篇) - 来写注释

多选参数

代码质量 代码 代码注释

一张PDF了解JDK9 GC调优秘籍-附PDF下载

程序那些事

性能调优 GC JDK9 cheatsheet 秘籍

戴尔Latitude 9510 雅典娜计划标准的英特尔移动超能版笔记本

飞天鱼2017

极客大学算法训练营第一课

落曦

前端存储除了 localStorage 还有啥

阿宝哥

Java 前端 存储

架构师训练营第三周作业

陈靓-哲露

可读代码编写炸鸡三 - 审美

多选参数

代码质量 代码 代码注释

消息队列(四)如何处理消息丢失的问题?

奈何花开

Java MQ 消息队列

消息队列(五)如何保证消息的顺序性?

奈何花开

Java MQ 消息队列

Python中进行None判断时,为什么用is而不是==

王坤祥

Python 编程 进阶 计算机基础

InfoQ 极客传媒开发者生态共创计划线上发布会

InfoQ 极客传媒开发者生态共创计划线上发布会

Hudson以新版本编号2.0.0重新登场-InfoQ