Несколько установок Java на одном и том же подчиненном устройстве Jenkins
Мне нужно иметь 2 версии Java на том же образе Docker:
- Java 7 для разработчиков
- Java 8 для запуска Дженкинс-раб
Поскольку мы используем тихое старое программное обеспечение, решение было:
RUN echo deb http://http.debian.net/debian jessie-backports main >> /etc/apt/sources.list && \
apt-get update && \
apt-get install -y -t jessie-backports openjdk-8-jdk && \
update-alternatives --set java /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java && \
apt-get clean
Я попытался удалить альтернативы обновления и просто изменить окружение Jenkins $PATH на подчиненном устройстве Jenkins на:
/usr/lib/jvm/java-1.8.0-openjdk-amd64/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/utilities/bin/
К сожалению, это по-прежнему сохранит Java 7 в качестве Java по умолчанию.
Альтернативой может быть сделать Java 8 по умолчанию с использованием альтернатив обновления и изменить версию Java для использования сборкой Maven в конвейере Jenkins.
- Каков наилучший способ использовать обе версии Java?
- Какой должна быть моя версия по умолчанию?
- Как настроить другую (сборку Maven или подчиненный Jenkins) для использования другой (не по умолчанию) версии Java?