В дополнение к посту Jenkins: запуск Jenkins в Docker и подключение SSH Slave – пример добавления агента на macOS, используя Java Web Start.
Добавляем пользователя:
Проверяем наличие Java:
[simterm]
MacMini:~ user$ java -version java version "1.8.0_101" Java(TM) SE Runtime Environment (build 1.8.0_101-b13) 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]
MacMini:Downloads user$ sudo cp agent.jar ../../jenkins/ Password:
[/simterm]
Переключаемся на пользователя jenkins
:
[simterm]
MacMini:Downloads user$ login jenkins Password: MacMini:~ jenkins$
[/simterm]
И выполняем команду, указанную в Jenkins (на запуск из jnlp-файла macOS сказала, что “неподписанный издатель, иди лесом”, но запустить можно>>>):
[simterm]
$ java -jar agent.jar -jnlpUrl https://jenkins.domain.tld/computer/macmini_s/slave-agent.jnlp -secret 137***867 -workDir "/Users/jenkins/slave" &
[/simterm]
Проверяем лог:
[simterm]
MacMini:remoting jenkins$ cat logs/remoting.log.0 May 15, 2018 3:13:29 PM hudson.remoting.jnlp.Main createEngine INFO: Setting up slave: macmini_s May 15, 2018 3:13:29 PM hudson.remoting.jnlp.Main$CuiListener <init> INFO: Jenkins agent is running in headless mode. May 15, 2018 3:13:29 PM org.jenkinsci.remoting.engine.WorkDirManager initializeWorkDir INFO: Using /Users/jenkins/slave/remoting as a remoting work directory May 15, 2018 3:13:29 PM hudson.remoting.jnlp.Main$CuiListener status INFO: Locating server among [https://jenkins.domain.tld/] May 15, 2018 3:13:29 PM org.jenkinsci.remoting.engine.JnlpAgentEndpointResolver resolve INFO: Remoting server accepts the following protocols: [JNLP4-connect, Ping] May 15, 2018 3:13:29 PM hudson.remoting.jnlp.Main$CuiListener status INFO: Agent discovery successful Agent address: jenkins.domain.tld Agent port: 50000 Identity: 85:17:fd:97:c1:66:c9:d3:fd:91:ab:b1:4c:1f:90:00 May 15, 2018 3:13:29 PM hudson.remoting.jnlp.Main$CuiListener status INFO: Handshaking May 15, 2018 3:13:29 PM hudson.remoting.jnlp.Main$CuiListener status INFO: Connecting to jenkins.domain.tld:50000 May 15, 2018 3:13:29 PM hudson.remoting.jnlp.Main$CuiListener status INFO: Trying protocol: JNLP4-connect May 15, 2018 3:13:29 PM hudson.remoting.jnlp.Main$CuiListener status INFO: Remote identity confirmed: 85:17:fd:97:c1:66:c9:d3:fd:91:ab:b1:4c:1f:90:00 May 15, 2018 3:13:30 PM hudson.remoting.jnlp.Main$CuiListener status INFO: Connected
[/simterm]
Готово.