Что такое 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):Создание APT репозитория
Далее заполняем поля и вставляем в поле Signing Key содержимое из файла private.gpg.key:
Вставляем закрытый ключ
В поле Passphrase вводим пароль, который вводили при генерации ID и закрытого ключа. Нажимаем Create repository. После этого будет создан репозиторий APT, в который можно загружать deb-файлы и подключать к Debian/Ubuntu или подобным ОС.
Как создать APT репозиторий в Sonatype Nexus 3?
Я разворачивал Nexus в docker-контейнере, поэтому буду описывать, как поднять APT репозиторий именно в docker.
tproger.ru