Skip to content

Commit 6e32081

Browse files
committed
(doc) Adds Ansible Guide for Nexus Upgrade
1 parent ace4c33 commit 6e32081

File tree

1 file changed

+85
-0
lines changed

1 file changed

+85
-0
lines changed
Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
---
2+
order: 44
3+
xref: c4b-ansible-upgrading-nexus
4+
title: Upgrading Nexus
5+
description: A guide to upgrading Sonatype Nexus in the Chocolatey for Business Ansible Environment
6+
---
7+
import Callout from '@choco/components/Callout.astro';
8+
import Iframe from '@choco/components/Iframe.astro';
9+
import Xref from '@components/Xref.astro';
10+
11+
## Upgrade Nexus in the Ansible Environment
12+
13+
This document outlines the process for upgrading Nexus running inside our Ansible Environment.
14+
15+
If your server is restricted from access to the Chocolatey Community Repository, <Xref title="internalize the package to your internal repository" value="package-internalizer" />.
16+
17+
## Instructions
18+
19+
1. Internalize the nexus-repository package and push to your internal repository
20+
2. choco upgrade the nexus-repository package (Example command provided below)
21+
22+
### Example Upgrade Command:
23+
24+
```yaml
25+
---
26+
- name: Upgrade Nexus
27+
hosts: "{{ c4b_nexus_nodes }}"
28+
gather_facts: true
29+
vars_prompt:
30+
- name: nexus_fqdn
31+
prompt: "FQDN to access Nexus, e.g. ccm.example.com"
32+
private: no
33+
tasks:
34+
- name: Upgrade Sonatype Nexus
35+
chocolatey.chocolatey.win_chocolatey:
36+
name: nexus-repository
37+
state: latest
38+
params: "/Port:8443 /FQDN:{{ nexus_fqdn }} /BackupSslConfig"
39+
...
40+
```
41+
42+
After saving the example playbook to a file, e.g. `nexus-upgrade.yml`, you can run it with one of the following commands:
43+
44+
```powershell
45+
# This will install to all available hosts. Be careful!
46+
ansible-playbook /path/to/nexus-upgrade.yml --extra-vars "c4b_nexus_nodes='*'"
47+
48+
# You could specify an inventory to use, or be more specific when defining c4b_nexus_nodes.
49+
ansible-playbook /path/to/nexus-upgrade.yml --inventory /path/to/hosts.yml --extra-vars "c4b_nexus_nodes='nexus_servers'"
50+
```
51+
52+
## Upgrading from Nexus Repository <=3.70.*
53+
54+
Sonatype's upgrade to Nexus Repository 3.71.* came with several breaking changes, including the requirement to migrate your OSS instance from OrientDb to H2 before upgrading.
55+
56+
Full details are available [here](https://help.sonatype.com/en/orient-pre-3-70-java-8-or-11.html), but to upgrade via Ansible you could run something like this playbook after pushing the modified copy of the `nexus-repository` package to your repository:
57+
58+
```yaml
59+
---
60+
- name: Upgrade Nexus
61+
hosts: "{{ c4b_nexus_nodes }}"
62+
gather_facts: true
63+
vars_prompt:
64+
- name: nexus_fqdn
65+
prompt: "FQDN to access Nexus, e.g. ccm.example.com"
66+
private: no
67+
tasks:
68+
69+
- name: Upgrade Sonatype Nexus to Migration Version
70+
chocolatey.chocolatey.win_chocolatey:
71+
name: nexus-repository
72+
state: upgrade
73+
version: 3.70.1.2
74+
params: "/Port:8443 /FQDN:{{ nexus_fqdn }} /BackupSslConfig"
75+
76+
- name: Upgrade Sonatype Nexus
77+
chocolatey.chocolatey.win_chocolatey:
78+
name: nexus-repository
79+
state: upgrade
80+
version: 3.71.0.6
81+
params: "/Port:8443 /FQDN:{{ nexus_fqdn }} /BackupSslConfig"
82+
...
83+
```
84+
85+
This should result in a successful migration and upgrade.

0 commit comments

Comments
 (0)