nexus3_oss
Ansible Роль: Nexus 3 OSS
Эта роль устанавливает и настраивает Nexus Repository Manager OSS версии 3.x.
Вся конфигурация может быть обновлена повторным запуском роли, за исключением настроек, связанных с blobstores, которые неизменяемы в nexus.
Оглавление
Примечание: ссылки в оглавлении могут не работать корректно при просмотре на сайте ansible galaxy. Посмотреть на github
(Создано с помощью gh-md-toc)
История / Благодарности
Эта роль является форком ansible-nexus3-oss от @savoirfairelinux после объявления об окончании поддержки. Вы можете ознакомиться с следующими тикетами в оригинальном репозитории для получения разъяснений:
- https://github.com/savoirfairelinux/ansible-nexus3-oss/issues/36
- https://github.com/savoirfairelinux/ansible-nexus3-oss/issues/38
Мы хотели бы поблагодарить оригинальных авторов за проделанную работу.
Требования
- Достаточно актуальная версия ansible. Мы следим за версиями ansible в процессе сопровождения и разработки и будем использовать новые функции при необходимости (и обновим meta/main.yml для минимальной версии).
- Совместимая ОС. Эта роль тестируется с молекулой на travis CI для CentOS 8, Ubuntu Bionic (18.04) и Debian buster. Другие сценарии молекулы могут быть протестированы локально для CentOS 7, Ubuntu Xenial (16.04) и Debian stretch.
- Rsync должен быть установлен на целевой машине (не нужен на хосте, запускающем ansible, если это другой сервер).
- Библиотека
jmespath
должна быть установлена на хосте, запускающем плейбук (нужна для фильтраjson_query
). Смотритеrequirements.txt
. - Java 8 (обязательно).
- Oracle объявила о завершении поддержки Java 8. Sonatype теперь рекомендует openjdk8.
- Для получения дополнительной информации смотрите системные требования nexus3.
- Apache HTTPD (по желанию).
- Используется для настройки SSL обратного прокси.
- Следующие модули должны быть включены в вашей конфигурации: mod_ssl, mod_rewrite, mod_proxy, mod_proxy_http, mod_headers.
(Смотрите раздел Зависимости ниже на соответствующие роли на galaxy)
Переменные роли
Переменные ansible вместе с их значениями по умолчанию (смотрите default/main.yml
):
Общие переменные
nexus_version: ''
nexus_timezone: 'UTC'
nexus_download_url: "http://download.sonatype.com/nexus/3"
Роль установит последнюю доступную версию nexus по умолчанию. Вы можете установить фиксированную версию, установив переменную nexus_version
. Смотрите доступные версии на https://www.sonatype.com/download-oss-sonatype.
Если вы зафиксируете версию и измените ее на другую, роль попытается обновить вашу установку. Убедитесь, что вы переходите на более позднюю версию в истории релизов. Понижение версии не будет успешным (если только вы не переустановите nexus с нуля с использованием специальной переменной nexus_purge
).
Если вы не фиксируете версию и запускаете роль на существующей установке, будет использоваться текущая установленная версия (определяемая целевой {{ nexus_installation_dir}}/nexus-latest
). Если вы хотите обновить nexus, вам нужно будет передать специальную переменную nexus_upgrade=true
в командной строке ansible-playbook. Смотрите Обновление nexus до последней версии.
Зависимости
Java и apache требования могут быть выполнены с помощью следующих ролей galaxy:
Не стесняйтесь использовать их или реализовывать свой собственный сценарий установки по мере необходимости.
Пример плейбука
---
- name: Nexus
hosts: nexus
become: yes
vars:
nexus_timezone: 'Canada/Eastern'
nexus_admin_password: "{{ vault_nexus_admin_password }}"
nexus_public_hostname: 'nexus.vm'
httpd_setup_enable: true
httpd_ssl_certificate_file: "{{ vault_httpd_ssl_certificate_file }}"
httpd_ssl_certificate_key_file: "{{ vault_httpd_ssl_certificate_key_file }}"
nexus_blobstores:
- name: company-artifacts
path: /var/nexus/blobs/company-artifacts
roles:
- { role: geerlingguy.java }
- { role: geerlingguy.apache }
- { role: ansible-thoteam.nexus3-oss }
Лицензия
GNU GPLv3
Информация об авторе
Смотрите: https://github.com/ansible-ThoTeam
Nexus Repository Manager 3.x (Sonatype)
ansible-galaxy install pogosoftware/nexus3-oss