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

Ver: https://github.com/ansible-ThoTeam

Acerca del proyecto

Nexus Repository Manager 3.x (Sonatype)

Instalar
ansible-galaxy install pogosoftware.nexus3_oss
Licencia
gpl-3.0
Descargas
140
Propietario