Как создать APT репозиторий в Sonatype Nexus 3?

Kate

Administrator
Команда форума

Что такое Sonatype Nexus 3?​

Sonatype Nexus 3 — это свободно распространяемый менеджер репозиториев, с удобным web-интерфейсом. Менеджер позволяет создавать репозитории, как для хранения конкретных форматов данных (yum, apt, Maven, Docker, npm, PyPl и так далее), так и формат хранения файлов Raw, в котором можно хранить любые типы файлов.

Менеджер репозиториев можно установить, как на обычную физическую или виртуальную машину, так и развернуть в docker-контейнере. Я разворачивал Nexus в docker-контейнере, поэтому буду описывать, как поднять APT репозиторий именно в docker. Доступные docker-образы Sonatype Nexus 3 можно найти по этой ссылке.

Установка зависимостей​

Первое что нужно сделать, это подключиться к docker-контейнеру с оболочкой bash:

docker exec -it -u 0 nexus bash

После этого нужно установить пакет pinentry, для того, чтобы можно было дальше сгенерировать ключи для apt репозитория:

yum -y install pinentry

Генерация ключей​

После установки пакета pinentry, можно приступать к созданию ключей:

gpg --gen-key

Заполняем поля, вводим O и нажимаем Enter. Далее нужно будет ввести 2 раза пароль, для генерации ключа. Копируем ID, который был сгенерирован 6C44AA9D06EA1B2E805C90FF6935F7FB57FFEF6F. Создаём открытый ключ:

gpg --armor --output public.gpg.key --export 6C44AA9D06EA1B2E805C90FF6935F7FB57FFEF6F

Создаём закрытый ключ:

gpg --armor --output private.gpg.key --export-secret-key 6C44AA9D06EA1B2E805C90FF6935F7FB57FFEF6F

Здесь нужно будет ввести пароль, который вводили при генерации ID.

Выводим содержимое файла, который был сгенерирован при создание закрытого ключа. Копируем содержимое файла.

cat private.gpg.key

Создание APT репозитория​

Заходим в web-интерфейс менеджера репозиториев Nexus http://10.10.1.1:8080. Авторизуемся с правами администратора и нажимаем на шестерёнку вверху. Далее выбираем раздел Repositories. Нажимаем Create repository и выбираем apt(hosted):

Иллюстрация: Sonatype Nexus 3
Создание APT репозитория
Далее заполняем поля и вставляем в поле Signing Key содержимое из файла private.gpg.key:


Вставляем закрытый ключ
В поле Passphrase вводим пароль, который вводили при генерации ID и закрытого ключа. Нажимаем Create repository. После этого будет создан репозиторий APT, в который можно загружать deb-файлы и подключать к Debian/Ubuntu или подобным ОС.

 
Сверху