Jenkins Agent 的几种通信方式

1. SSH

连接方向: Master 主动连接 Agent要求:

  • Master 能通过 SSH 直连 Agent
  • Agent 上启动了 SSHD 服务
  • Jenkins 安装 SSH Credentials Plugin、SSH Build Agents 插件

2. JNLP

连接方向: Agent 主动连接 Master要求:

  • Agent 能访问 Master
  • Agent 需要 JVM 环境运行
  • Master 需要放开 50000(默认值)端口用于 Agent 通信

50000 端口是 Jenkins Master 的服务端口,不需要再运行其他服务程序。

3. WebSocket

连接方向: Agent 连接 Master 之后,可以双向通信要求:

  • Agent 能访问 Master
  • Agent 需要 JVM 环境运行

WebSocket 方式将复用 Jenkins 管理页面的 URL 进行通信,可以不用 50000 端口接入 Agent。

4. 参考

  • https://github.com/jenkinsci/jep/blob/master/jep/222/README.adoc
  • https://issues.jenkins.io/browse/JENKINS-62576