我如何从奴隶启动詹金斯代理?

How do I start a Jenkins agent from the slave?

詹金斯 v2.89.3.

我正在尝试启动代理,但出现以下错误。

$ java -jar agent.jar -jnlpUrl http://localhost:8080/computer/testagent/slave-agent.jnlp
Error: Unable to access jarfile agent.jar

我关注的 wiki 文档来自这里:

无头启动代理 - https://wiki.jenkins.io/display/JENKINS/Distributed+builds#Distributedbuilds-Differentwaysofstartingagents

管理节点的手册部分似乎尚未编写: https://jenkins.io/doc/book/managing/nodes/

如果有人知道我做错了什么,或者我可以通过其他方式从奴隶(而不是主人)启动代理,请告诉我。

我发现 Jenkins 的 Swarm 插件完全符合我的需要。

  1. 在 Jenkins 上安装插件
  2. 在从服务器上下载 swarm jar
  3. java -jar path/to/swarm-client.jar -home http://localhost:8080

结果:如从 Jenkins 的“管理节点”部分所见,从代理在主代理上注册 UI

https://wiki.jenkins.io/display/JENKINS/Swarm+Plugin

在 Jenkins 大师给出的“运行 from agent command line...”CLI 指令中:单词 'agent.jar' 是一个超链接。

  1. 将鼠标悬停在该超链接上以复制目标 URL。
  2. 通过将 URL 粘贴到您的终端 window,将 URL 与 wget 结合使用,从 Jenkins master 检索 agent.jar。例如,

[root@Jenkins-Agent-1 ~]# wget http://jm0:8080/jnlpJars/agent.jar --2022-03-15 01:13:45-- http://jm0:8080/jnlpJars/agent.jar 解析 jm0 (jm0)... 192.168.0.174 正在连接到 jm0 (jm0)|192.168.0.174|:8080... 已连接。 已发送 HTTP 请求,正在等待响应... 200 OK 长度:1524968(1.5M)[application/java-archive] 保存到:‘agent.jar’

100%[======================================== ========================================>] 1,524,968 --.-K/s 在 0.04 秒内

  1. 然后执行Jenkins master给的命令完成安装。例如,

[root@Jenkins-Agent-1 ~]# java -jar agent.jar -jnlpUrl http://jm0:8080/computer/JA1/jenkins-agent.jnlp -secret 73393f441b43921357d959cd664d9e69d67ff7ee1f9876070ab76e16b420