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
- Requirements
- Role Variables
- Dependencies
- Example Playbook
- Development, Contribution and Testing
- License
- Author Information
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
Ansible Role for Sonatype Nexus Installation
ansible-galaxy install jetune.nexus