У меня есть скрипт инициализации в облаке
#cloud-config
package_upgrade: true
packages:
- openjdk-8-jdk
- apt-transport-https
- git
- jq
groups:
- docker
users:
- default
- name: jenkins
groups: docker
homedir: /var/lib/jenkins
lock_passwd: true
ssh_authorized_keys:
- ssh-rsa xyz
Что дается плагину jenkins ec2 при запуске Ubuntu 18.04 AMI.
Когда jenkins пытается подключиться к экземпляру, журналы показывают:
ИНФОРМАЦИЯ: Проверка: java -fullversion
sh: 1: java: не найдено
01 ноября 2018 года 20:22:10 ноль
ИНФОРМАЦИЯ: Установка: sudo yum install -y java-1.8.0-openjdk.x86_64
sudo: отсутствует tty и не указана программа askpass
01 ноября 2018 20:22:10 ноль
ВНИМАНИЕ: Не удалось установить: sudo yum install -y java-1.8.0-openjdk.x86_64
sh: 1: java: не найдено
ОШИБКА: невозможно запустить агент для Ubuntu 18.04 (i-xxx)
java.io.EOFException: неожиданное завершение потока
Если я попытаюсь снова подключиться к агенту вручную через некоторое время (2/3 минуты), все в порядке:
Агент успешно подключен и подключен к сети
Должен ли скрипт cloud-init запускаться перед SSH-соединением?
У меня никогда не было этой проблемы при использовании Amazon Linux AMI, где я устанавливаю java 8 таким же образом (через скрипт инициализации в облаке). Это что-то особенное в том, как amazon linux запускает облачные сценарии инициализации против ubuntu?