java
Ansible Java Роль
Описание
Это роль Ansible для установки Oracle/OpenJDK Java на несколько систем GNU/Linux.
Поддерживаемые Системы
- Debian
- Ubuntu
- RedHat
- CentOS
- FreeBSD
Требования
- Ansible 1.9 или выше (можно легко установить через
pip
. Например:sudo pip install ansible==1.9.2
) - Vagrant 1.7 или выше
- Пакет
sshpass
, который нужен Ansible, если вы используете аутентификацию по SSH с паролем. На Ubuntu/Debian:$ sudo apt-get install sshpass
- Virtualbox
- Oh-my-box инструмент, необязательный, если вы хотите быстро создать и упаковать базовый Vagrant box с предустановленными Ansible и Ruby.
Переменные Роли
Доступные переменные перечислены ниже вместе с значениями по умолчанию:
java_jdk_type
- Тип Java Development Toolkit должен бытьoracle
илиopenjdk
(по умолчанию: 'openjdk')java_version
- Версия Java для установки (по умолчанию: '8')java_package
- Название пакета Java JDK для установки (по умолчанию: None)java_set_as_default
- Если true, устанавливает текущую установленную Java как системную версию по умолчанию (по умолчанию: false)oracle_jdk_rpm_package
- Название пакета rpm для установки oracle jdk на Redhat (по умолчанию: 'jdk-8u144-linux-x64.rpm')oracle_jdk_rpm_url
- URL для загрузки пакета rpm oracle jdk (по умолчанию: 'http://download.oracle.com/otn-pub/java/jdk/8u144-b01/jdk-8u144-linux-x64.rpm')rpm_download_directory
- Абсолютный путь к временной директории, куда будет загружен пакет (по умолчанию: '/var/cache/yum/x86_64/7/extras/packages')
Доступные теги
install-java
- Тег по умолчанию для выполнения установки Java JDK.
Использование
Установка OpenJDK 8 (по умолчанию openjdk)
- hosts: localhost
sudo: yes
roles:
- ansible-java
Установка Oracle JDK 8 (по умолчанию oracle jdk)
- hosts: localhost
sudo: yes
roles:
- { role: ansible-java, java_jdk_type: 'oracle' }
Установка OpenJDK 7 (на Debian и установка как по умолчанию)
- hosts: localhost
sudo: yes
roles:
- role: ansible-java
java_version: 7
java_package: 'openjdk-7-jdk'
java_set_as_default: true
Установка Oracle JDK 7 (на Redhat и установка как по умолчанию)
- hosts: localhost
sudo: yes
roles:
- role: ansible-java
java_jdk_type: 'oracle'
java_version: 7
oracle_jdk_rpm_package: 'jdk-7u79-linux-x64.rpm'
oracle_jdk_rpm_url: 'http://download.oracle.com/otn-pub/java/jdk/7u79-b15/jdk-7u79-linux-x64.rpm'
java_set_as_default: true
Разработка и тестирование
Тестирование с помощью Vagrant
Для быстрых тестов вы можете запустить виртуальную машину Debian с помощью Vagrant. Возможно, вам нужно будет адаптировать Vagrantfile под вашу среду (IP-адреса и т.д.).
$ vagrant up
Запуск приемочных тестов
Приемочные/Интеграционные тесты можно запустить против роли с помощью инструмента test-kitchen
. Все написанные приемочные тесты находятся в директории ./test/integration/.
Файл .kitchen.yml
описывает конфигурацию тестирования и список тестов для запуска. По умолчанию ваши экземпляры будут настроены с помощью Ansible и запущены в виртуальных машинах Vagrant.
Чтобы вывести список экземпляров:
$ kitchen list
Экземпляр Драйвер Провизионер Проверщик Транспорт Последнее действие
default-debian-8-x64 Vagrant AnsiblePlaybook Busser Ssh <Не создано>
override-java-version-debian-8-x64 Vagrant AnsiblePlaybook Busser Ssh <Не создано>
install-oracle-jdk-debian-8-x64 Vagrant AnsiblePlaybook Busser Ssh <Не создано>
Чтобы запустить тесты с набором override-java-version на платформе Debian 8, например, выполните следующее:
$ kitchen test override-java-version-debian-8-x64
Автор
Эта роль была создана Ахмедом Бессифи, энтузиастом DevOps.
ansible-galaxy install abessifi/ansible-java