Мы запускаем Jenkins master на Win-машине и добавляем подчиненный Mac OSX, который выполняется через ssh на удаленном Mac. Уже хорошо известно, что для этого сценария требуется, чтобы подчиненная команда была запущена с java -Djava.awt.headless=true иначе соединение будет прервано с помощью java.io.IOException: Unexpected termination of the channel . Несмотря на это, мы все еще испытываем это исключение. Странно, что исключение не выдается после постоянного периода времени - в одной сборке это, например, 30 минут, в другой 45 минут. Что может быть не так?

Прикрепление журнала (IP-адреса и URL-адреса дополнительно искажены)

[11/14/13 16:08:11] [SSH] Opening SSH connection to our.macos.machine:22.
[11/14/13 16:08:12] [SSH] Authentication successful.
[11/14/13 16:08:12] [SSH] The remote users environment is:
BASH=/bin/bash
BASH_ARGC=()
BASH_ARGV=()
BASH_EXECUTION_STRING=set
BASH_LINENO=()
BASH_SOURCE=()
BASH_VERSINFO=([0]="3" [1]="2" [2]="48" [3]="1" [4]="release" [5]="x86_64-apple-darwin12")
BASH_VERSION='3.2.48(1)-release'
DIRSTACK=()
EUID=503
GROUPS=()
HOME=/Users/hudson
HOSTNAME=our.macos.machine
HOSTTYPE=x86_64
IFS=$' \t\n'
LOGNAME=hudson
MACHTYPE=x86_64-apple-darwin12
MAIL=/var/mail/hudson
OPTERR=1
OPTIND=1
OSTYPE=darwin12
PATH=/usr/bin:/bin:/usr/sbin:/sbin
PPID=93411
PS4='+ '
PWD=/Users/hudson
SHELL=/bin/bash
SHELLOPTS=braceexpand:hashall:interactive-comments
SHLVL=1
SSH_CLIENT='xxx.xxx.xxx.xxx 49852 22'
SSH_CONNECTION='xxx.xxx.xxx.xxx 49852 yyy.yyy.yyy.yyy 22'
TERM=dumb
TMPDIR=/var/folders/hg/298vj1kd4yj_f73tgbh6n0hr0000gq/T/
UID=503
USER=hudson
_=bash
[11/14/13 16:08:12] [SSH] Checking java version of java
[11/14/13 16:08:12] [SSH] java -version returned 1.7.0_40.
[11/14/13 16:08:12] [SSH] Starting sftp client.
[11/14/13 16:08:12] [SSH] Copying latest slave.jar...
[11/14/13 16:08:12] [SSH] Copied 346 309 bytes.
Expanded the channel window size to 4MB
[11/14/13 16:08:12] [SSH] Starting slave process: cd '/Users/hudson/build' && java -Djava.awt.headless=true -jar slave.jar
<===[JENKINS REMOTING CAPACITY]===>channel started
Slave.jar version: 2.32
This is a Unix slave
Evacuated stdout
Slave successfully connected and online

1 ответ1

2

У меня возникла та же проблема, и я нашел решение здесь: http://blog.narf.ssji.net/2012/11/fix_jenkins_unexpected_channel_termination

Короче говоря, я добавил строку ниже в разделе «Настройка узла»> «Метод запуска»> «Дополнительные параметры JVM»:

-Djava.awt.headless=true

Надеюсь это поможет!

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .