Swarm Plugin:让客户端自动注册并创建节点
如果希望客户端只通过一个命令就“自助式”地向 Jenkins 注册”,并可自定义节点名称、标签、执行器数量等,通常使用 Swarm Plugin。原理是这样的:
-
在 Jenkins 上安装 Swarm Plugin
- “Manage Jenkins” → “Plugin Manager” → 搜索 “Swarm” 并安装。
- 安装完后,Jenkins 上会提供一个可供下载的
swarm-client.jar。
-
客户端下载 swarm-client.jar
- 下载地址一般是 “
http://<jenkins>/swarm/swarm-client.jar” 或在插件配置页面中会给出。
- 下载地址一般是 “
-
客户端启动命令(示例)
java -jar swarm-client.jar \ -master http://<jenkinsUrl>:8080/ \ -username <你的Jenkins账号> \ -password <你的Jenkins密码或API Token> \ -name "my-swarm-agent" \ -labels "docker linux my-custom-label" \ -executors 2 \ -disableSslVerification # 如果 Jenkins 是自签名 HTTPS,可以加上-
-name用于指定在 Jenkins 中注册的节点名称。 -
-labels用于指定多个标签(空格分隔)。 -
-executors指定该节点可以同时执行多少并发任务。 - 更多可用参数请查看 Swarm 插件的 README 或
java -jar swarm-client.jar --help。
-
-
效果
- 当这条命令运行后,如果认证通过,Swarm Client 会自动在 Jenkins 上创建并注册一个同名节点(如果不存在),并连接上去。
- Jenkins 端会自动显示这个节点,无需提前手动配置。
- 下次启动时,如果同名节点已存在,就复用这个节点;如果节点不存在,或配置被删除,又会重新创建一个。
优点:
- 可以让大量分布式机器“自助式”接入 Jenkins,无需在 Jenkins 管理端挨个手动添加节点。
- 客户端可以自定义名称、标签、执行器数量等。
- 适合弹性或批量部署场景。
缺点:
- 需要安装额外的 Swarm Plugin;
- 管理员需要配置一定的安全策略,例如限制哪些账号可以注册节点、限制标签范围等,以免带来安全风险。