我很高兴地告诉大家中- 222登在了詹金斯周刊上必威国际有限公司2.217.这个改进为Jenkins带来了实验性的WebSocket支持,在连接入站代理或运行CLI时可用。必威国际有限公司WebSocket协议允许通过HTTP(S)端口进行双向流通信。

虽然Jenkins的许多用户可以从中受益必威国际有限公司,但实现这个系统对CloudBees来说尤其重要现代云平台上的CloudBees核心(例如,在Kubernetes上运行)配置网络。当管理员希望将入站(以前称为“JNLP”)外部代理连接到Jenkins控制器(例如运行在集群外部并使用代理服务包装器的Windows虚拟机)时,目前唯一的选择是使用特殊的TCP端口。必威国际有限公司该端口需要使用低级网络配置向外部流量开放。例如,nginx入口控制器的用户需要为集群中的每个Jenkins服务代理一个单独的外部端口。必威国际有限公司这样做的说明很复杂,而且很难排除故障。

使用WebSocket,当存在反向代理时,入站代理可以更简单地连接:如果HTTP(S)端口已经在服务流量,大多数代理将允许WebSocket连接,无需额外配置。可以在代理配置中启用WebSocket模式,并在Kubernetes插件快到了。你需要一个代理人版本4.0或更高版本,它以通常的方式与Jenkins绑定(这个版本的Doc必威国际有限公司ker图片很快就会发布)。

对于反向代理用户来说,Jenki必威国际有限公司ns的另一个麻烦的部分是CLI。除了端口22上的SSH协议(从外部打开也很麻烦)之外,CLI已经具备了这种能力使用HTTP (S)传输.不幸的是,用于实现的技巧混淆了一些代理,并不是很可移植性。必威国际有限公司Jenkins 2.217提供了一个新的websocketCLI模式应该避免这些问题;同样,你需要下载一个新版本的必威国际有限公司jenkins-cli.jar使用此模式。

WebSocket代码已经针对Kubernetes实现(包括OpenShift)的一个示例进行了测试,但很可能仍然存在一些bug和限制,而且在大量构建负载下的代理的可伸缩性还没有经过测试。现在就把这个功能当作测试质量,让我们知道它是如何工作的!

关于作者
杰西•格里克

Jesse多年来一直在开发Jenkins核心和插件。必威国际有限公司他与Kohsuke合著了管道系统的核心基础设施。