Обновление Nexus Repository Manager
2020-05-07
Upgrading Nexus Repository Manager 3
Краткое описание
Nexus работает на java и почти не зависит от хоста.
Nexus состоит из двух каталогов:
- The application directory
nexus-3.16.1-02
. - The data directory
sonatype-work
.
├── nexus-3.16.1-02
├── sonatype-work
И не забываем о запуске вместе с ОС. На данный момент видно, что загрузка организована через ссылку /etc/init.d/nexus
, которая указывает на /data/nexus-3.16.1-02/bin/nexus
.
Подготовка к обновлению
Скачиваем, проверяем хэш-сумму, и распаковываем новый nexus:
$ cd tmp
$ wget https://download.sonatype.com/nexus/3/latest-unix.tar.gz
$ wget https://download.sonatype.com/nexus/3/latest-unix.tar.gz.sha1
$ sha1sum latest-unix.tar.gz
8298bd6db3b0f4d083942343a89f47cae7d791de latest-unix.tar.gz
$ cat latest-unix.tar.gz.sha1
8298bd6db3b0f4d083942343a89f47cae7d791de
$ tar -xvf latest-unix.tar.gz
$ sudo chown nexus:nexus nexus-3.23.0-03 -R
Переносим новый экземпляр Nexus в тот же каталог, где находится работающий экземпляр старого Nexus, чтобы было так:
.
├── nexus-3.16.1-02
├── nexus-3.23.0-03
├── sonatype-work
Останавливаем работающий Nexus.
$ sudo /etc/init.d/nexus stop
Для быстрого восстановления в случае неудачи, делаем копию “The data directory sonatype-work
”:
$ rsync -av sonatype-work tmp/
Изменяем ссылку /etc/init.d/nexus
, чтобы она указывала на /data/nexus-3.23.0-03/bin/nexus
.
# rm /etc/init.d/nexus
# ln -s /data/nexus-3.23.0-03/bin/nexus /etc/init.d/
В файле /data/nexus-3.23.0-03/bin/nexus.rc
указываем пользователя под которым будет работать Nexus:
run_as_user="nexus"
Сравнил nexus-3.16.1-02/bin/nexus.vmoptions
и nexus-3.23.0-03/bin/nexus.vmoptions
. Убедившись, что на машине не так много оперативной памяти, изменил параметры в новом nexus.vmoptions
в соответствии с параметрами из старого nexus.vmoptions
.
Обновление
Запускаем новую версию Nexus.
# /etc/init.d/nexus start
На этом процесс обновления закончен. Необходимо зайти в GUI и проверить статус и чего-нибудь ещё.
Отладка
Для отладки запуска приложения, я запускал Nexus из командной строки:
$ ./nexus run