pogosoftware.nexus3_oss
Rol de Ansible: Nexus 3 OSS
Este rol instala y configura el Gestor de Repositorios Nexus OSS versión 3.x.
Toda la configuración se puede actualizar al volver a ejecutar el rol, excepto por la configuración de blobstores, que son inmutables en Nexus.
Tabla de Contenidos
Nota: Los enlaces de la tabla de contenidos no funcionarán adecuadamente al verlo desde el sitio de Ansible Galaxy. Verlo en GitHub
(Creado con gh-md-toc)
Historia / Créditos
Este rol es un fork de ansible-nexus3-oss por @savoirfairelinux después de que anunciaran el fin del mantenimiento. Agradecemos a los autores originales por el trabajo realizado.
Requisitos
- Versión de Ansible relativamente actual. Seguimos las versiones de Ansible durante el mantenimiento/desarrollo y aprovecharemos nuevas características si es necesario.
- Sistema operativo compatible. Este rol se prueba a través de molecule en Travis CI para CentOS 8, Ubuntu Bionic (18.04), y Debian buster.
- Rsync debe estar instalado en la máquina de destino.
- La biblioteca
jmespath
debe estar instalada en el host que ejecuta el playbook. - Java 8 (obligatorio).
- Apache HTTPD (opcional).
Variables del Rol
Variables de Ansible, junto con los valores predeterminados :
Variables Generales
nexus_version: ''
nexus_timezone: 'UTC'
nexus_download_url: "http://download.sonatype.com/nexus/3"
El rol instalará la última versión de Nexus disponible por defecto. Puedes fijar la versión configurando la variable nexus_version
.
Directorio de descarga para el paquete de Nexus
nexus_download_dir: '/tmp'
Directorio en el destino donde se descargará el paquete de Nexus.
Puerto de Nexus, ruta de contexto y IP de escucha
nexus_default_port: 8081
nexus_application_host: '{{ httpd_setup_enable | ternary("127.0.0.1", "0.0.0.0") }}'
nexus_default_context_path: '/'
Puerto/IP de escucha y ruta de contexto del proceso Java de Nexus.
Usuario y grupo del sistema operativo de Nexus
nexus_os_group: 'nexus'
nexus_os_user: 'nexus'
Permite cambiar el directorio de inicio del usuario predeterminado de Nexus.
Directorios de la instancia de Nexus
nexus_installation_dir: '/opt'
nexus_data_dir: '/var/nexus'
nexus_tmp_dir: "{{ (ansible_os_family == 'RedHat') | ternary('/var/nexus-tmp', '/tmp/nexus') }}"
Directorios de Nexus.
Configuración de la memoria de JVM de Nexus
nexus_min_heap_size: "1200M"
nexus_max_heap_size: "{{ nexus_min_heap_size }}"
nexus_max_direct_memory: "2G"
Estos son los valores predeterminados para Nexus.
Instalación de plugins
nexus_plugin_urls: []
Coloca la lista de URLs apuntando a plugins diseñados para tu versión de Nexus.
Contraseña de administrador
nexus_admin_password: 'changeme'
La contraseña para la cuenta 'admin' que se configurará.
Acceso anónimo por defecto
nexus_anonymous_access: false
Permite el acceso anónimo a Nexus.
Nombre de host público
nexus_public_hostname: 'nexus.vm'
nexus_public_scheme: https
El nombre de dominio y el esquema bajo el cual la instancia de Nexus será accesible para sus clientes.
Configuración de LDAP
Las conexiones a LDAP y el ámbito de seguridad están deshabilitados por defecto.
nexus_ldap_realm: false
ldap_connections: []
Configuraciones de conexión LDAP. Cada elemento va como sigue:
nexus_ldap_realm: true
ldap_connections:
- ldap_name: 'Mi LDAP'
ldap_protocol: 'ldaps'
ldap_hostname: 'ldap.misempresa.com'
ldap_port: 636
ldap_search_base: 'dc=misempresa,dc=com'
...
Ejemplo de Playbook
---
- 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
...
roles:
- { role: geerlingguy.java, vars: See role doc for your distribution/version }
- { role: geerlingguy.apache, apache_create_vhosts: no, apache_remove_default_vhost: true }
- { role: ansible-thoteam.nexus3-oss }
Licencia
GNU GPLv3
Información del Autor
Nexus Repository Manager 3.x (Sonatype)
ansible-galaxy install pogosoftware.nexus3_oss