Я добавил нового работника / ведомого через шаблон агента плагина 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"]