jetune.nexus

Ansible Role: Nexus 3 OSS

This role sets up and configures the Nexus Repository Manager OSS version 3.x.

Most configurations can be changed by running the role again, but settings related to blobstores cannot be changed after the initial setup.

Table of Contents

Note: Links in the Table of Contents may not work when viewed on the Ansible Galaxy site. View it on GitHub

(Created with gh-md-toc)

Contents Overview

History / Credits

This role is a continuation of ansible-nexus3-oss by @savoirfairelinux, which is no longer maintained. We thank the original authors for their work.

Requirements

  • An up-to-date version of Ansible.
  • Compatible Operating System (tested on CentOS 8, Ubuntu 18.04, and Debian 10).
  • rsync must be installed on the target machine.
  • The jmespath library needs to be installed on the machine running the playbook.
  • Java 8 is required (preferably OpenJDK 8).
  • Apache HTTPD is optional but necessary for SSL reverse-proxy setup.

Role Variables

You can change the following variables in the role’s configuration:

General Variables

    nexus_version: ''
    nexus_timezone: 'UTC'
    nexus_download_url: "http://download.sonatype.com/nexus/3"

Nexus Instance Details

    nexus_default_port: 8081
    nexus_os_user: 'nexus'
    nexus_data_dir: '/var/nexus'

Admin Password

    nexus_admin_password: 'changeme'

Public Hostname

    nexus_public_hostname: 'nexus.vm'

LDAP Configuration

    nexus_ldap_realm: false
    ldap_connections: []

Scheduled Tasks

    nexus_scheduled_tasks: []

Backups

    nexus_backup_configure: false
    nexus_backup_schedule_type: cron

Dependencies

You can fulfill Java and HTTPD requirements using roles like:

Example Playbook

---
- name: Nexus
  hosts: nexus
  become: yes

  vars:
    nexus_timezone: 'Canada/Eastern'
    nexus_admin_password: "{{ vault_nexus_admin_password }}"
    nexus_public_hostname: 'nexus.vm'
    
  roles:
    - { role: geerlingguy.java }
    - { role: geerlingguy.apache }
    - { role: ansible-thoteam.nexus3-oss }

Development, Contribution and Testing

Contributions are welcome! You can fork the repository and create branches for features or bug fixes.

The role includes tests for:

  • Groovy script syntax
  • YAML syntax and coding standards
  • Basic deployments on various Linux platforms like CentOS, Debian, and Ubuntu.

License

This project is licensed under the GNU GPLv3.

Author Information

For more details about the authors, visit: GitHub

Informazioni sul progetto

Ansible Role for Sonatype Nexus Installation

Installa
ansible-galaxy install jetune.nexus
Licenza
gpl-3.0
Download
519
Proprietario