В дополнение к посту Jenkins: запуск Jenkins в Docker и подключение SSH Slave — пример добавления агента на macOS, используя Java Web Start.
Добавляем пользователя:

Проверяем наличие Java:
[simterm]
1 | MacMini:~ user$ java -version |
2 | java version "1.8.0_101" |
3 | Java(TM) SE Runtime Environment (build 1.8.0_101-b13) |
4 | Java HotSpot(TM) 64-Bit Server VM (build 25.101-b13, mixed mode) |
[/simterm]
Переходим в Jenkins > Manage Jenkins > Manage Nodes, жмём New Node:

Настраиваем:

Переходим в Nodes, новый слейв пока оффлайн:

Переходим на страницу нового агента, тут сразу все указания по запуску:

Загружаем agent.jar
, переносим его к пользователю jenkins
:
[simterm]
1 | MacMini:Downloads user$ sudo cp agent.jar ../../jenkins/ |
[/simterm]
Переключаемся на пользователя jenkins
:
[simterm]
1 | MacMini:Downloads user$ login jenkins |
[/simterm]
И выполняем команду, указанную в Jenkins (на запуск из jnlp-файла macOS сказала, что «неподписанный издатель, иди лесом», но запустить можно>>>):
[simterm]
[/simterm]
Проверяем лог:
[simterm]
01 | MacMini:remoting jenkins$ cat logs/remoting.log.0 |
02 | May 15, 2018 3:13:29 PM hudson.remoting.jnlp.Main createEngine |
03 | INFO: Setting up slave: macmini_s |
04 | May 15, 2018 3:13:29 PM hudson.remoting.jnlp.Main$CuiListener <init> |
05 | INFO: Jenkins agent is running in headless mode. |
06 | May 15, 2018 3:13:29 PM org.jenkinsci.remoting.engine.WorkDirManager initializeWorkDir |
07 | INFO: Using /Users/jenkins/slave/remoting as a remoting work directory |
08 | May 15, 2018 3:13:29 PM hudson.remoting.jnlp.Main$CuiListener status |
10 | May 15, 2018 3:13:29 PM org.jenkinsci.remoting.engine.JnlpAgentEndpointResolver resolve |
11 | INFO: Remoting server accepts the following protocols: [JNLP4-connect, Ping] |
12 | May 15, 2018 3:13:29 PM hudson.remoting.jnlp.Main$CuiListener status |
13 | INFO: Agent discovery successful |
14 | Agent address: jenkins.domain.tld |
16 | Identity: 85:17:fd:97:c1:66:c9:d3:fd:91:ab:b1:4c:1f:90:00 |
17 | May 15, 2018 3:13:29 PM hudson.remoting.jnlp.Main$CuiListener status |
19 | May 15, 2018 3:13:29 PM hudson.remoting.jnlp.Main$CuiListener status |
20 | INFO: Connecting to jenkins.domain.tld:50000 |
21 | May 15, 2018 3:13:29 PM hudson.remoting.jnlp.Main$CuiListener status |
22 | INFO: Trying protocol: JNLP4-connect |
23 | May 15, 2018 3:13:29 PM hudson.remoting.jnlp.Main$CuiListener status |
24 | INFO: Remote identity confirmed: 85:17:fd:97:c1:66:c9:d3:fd:91:ab:b1:4c:1f:90:00 |
25 | May 15, 2018 3:13:30 PM hudson.remoting.jnlp.Main$CuiListener status |
[/simterm]
Готово.