Как отладить ошибку запуска агента Jenkins? - PullRequest
0 голосов
/ 28 марта 2019

Я добавил нового работника / ведомого через шаблон агента плагина Docker, который использует образ Alpine. Агент создается, вызывается, и проверка подлинности завершается успешно, но запуск агента на ведомом устройстве завершается неудачно со следующей ошибкой (которую я получаю из Jenkins> Узлы> my_node_id> См. Журнал для получения дополнительной информации):

[03/27/19 18:11:39] [SSH] Authentication successful.
SSH connection reports a garbage before a command execution.
Check your .bashrc, .profile, and so on to make sure it is quiet.
The received junk text is as follows:
nologin: this account is not available

null
[03/27/19 18:11:39] Launch failed - cleaning up connection
[03/27/19 18:11:39] [SSH] Connection closed.

Для отладки мне недостаточно информации - только вывод ошибки от какой-то неизвестной команды. Похоже, что агент запускает какую-то команду с параметром nologin, который неверно интерпретируется как идентификатор пользователя. Я предполагаю, что это некая конфигурация образа ведомого или проблема с установкой пакета.

Можно ли как-то точно узнать, какую команду (команды) выдал агент? Есть ли способ получить более полные журналы запуска агента?

FWIW вот мой рабский Dockerfile:

FROM docker:stable-dind

RUN apk update; \
apk upgrade; \
apk add git; \
apk add python3; \
pip3 install pyyaml pexpect requests ruamel.yaml; \
apk add openjdk8; \
apk add curl; \
apk add sudo; \
apk add bash; \
apk add openssh-server; \
rm -rf /etc/ssh/ssh_host_rsa_key /etc/ssh/ssh_host_dsa_key; \
/usr/bin/ssh-keygen -A

EXPOSE 22

# Docker and Jenkins users
RUN addgroup -g 1001 -S docker; \
adduser -D -u 1001 -S appuser -G docker; \
addgroup -S jenkins; adduser -S jenkins -G jenkins; \
echo "jenkins:xxxxxxxxx" | chpasswd; \
chown -R jenkins:jenkins /home/jenkins

CMD ["/usr/sbin/sshd", "-D"]

1 Ответ

0 голосов
/ 28 марта 2019

Проблема nologin: this account is not available была в том, что агент Дженкинс требует bash, а не sh.Таким образом, изменение аддуктора Dockerfile устранило эту проблему:

adduser -S jenkins -G jenkins --shell /bin/bash

Теперь перейдем к следующей ошибке: -)

Примечание. Я не узнал, как получить более подробную информациюинформация об агентских командах или журналах.Если кто-то знает, что мне было бы интересно узнать, как.

...