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