Nexus Sonatype
Nexus Sonatype - это инструмент для управления репозиториями, используемый для хранения, проксирования и управления артефактами (библиотеки, зависимости, Docker-образы и т.д.) в процессе разработки ПО
1. Загрузка Nexus
1.1 Скачайте последнюю версию Nexus Repository Manager с официального сайта Sonatype:
wget https://download.sonatype.com/nexus/3/latest-unix.tar.gz
1.2 Распакуйте архив:
sudo tar -xvf latest-unix.tar.gz
1.3 Переименуйте дирикторию
cd /opt
sudo mv nexus-3.x.x nexus
2. Настройка пользователя и прав
1.1 Создайте пользователя nexus (для Linux):
sudo useradd nexus
2.2 Установите права на директории:
sudo chown -R nexus:nexus nexus
sudo chown -R nexus:nexus sonatype-work
3. Конфигурация
3.1 Настройте системного сервиса
Создайте файл /etc/systemd/system/nexus.service
:
[Unit]
Description=Nexus Repository Manager
After=network.target
[Service]
Type=forking
LimitNOFILE=65536
ExecStart=/opt/nexus/bin/nexus start
ExecStop=/opt/nexus/bin/nexus stop
User=nexus
Restart=on-abort
[Install]
WantedBy=multi-user.target
Перезагрузите конфиги "демонов"
sudo systemctl daemon-reload
3.2 Создайте файл со следующим содержимым /opt/nexus.secrets.json
/opt/nexus.secrets.json
{
"active": "nexus",
"keys": [
{
"id": "nexus",
"key": "secret-key"
}
]
}
3.3 Настройте nexus-default.properties
nexus-default.properties
# Jetty section
application-port=8081
application-host=0.0.0.0
nexus-args=${jetty.etc}/jetty.xml,${jetty.etc}/jetty-http.xml,${jetty.etc}/jetty-requestlog.xml
nexus-context-path=/
# Nexus section
nexus-edition=nexus-pro-edition
nexus-features=\
nexus-pro-feature
nexus.secrets.file=/opt/nexus.secrets.json
4. Запуск сервиса
4.1 Запустите Nexus:
sudo systemctl start nexus.service
4.2 Включите автозапуск:
sudo systemctl enable nexus.service
4.3 Проверьте статус сервиса:
sudo systemctl status nexus.service
4.4 Проверьте логи:
tail -f /opt/sonatype-work/nexus3/log/nexus.log
5. Первоначальная настройка
Откройте веб-интерфейс по адресу
http://localhost:8081
Войдите с учетными данными по умолчанию:
Пользователь: admin
Пароль: находится в файле
/opt/sonatype-work/nexus3/admin.password
6. Настройка обратного прокси
6.1 Установка и запуск Nginx
Установка пакета
sudo apt install nginx
Запуск и активация службы
sudo systemctl start nginx.service
sudo systemctl enable nginx.service
Проверка статуса сервиса:
sudo systemctl status nginx.service
6.2 Создание файла конфигурации /etc/nginx/sites-available/nexus.conf
/etc/nginx/sites-available/nexus.conf
server {
listen 443 ssl;
server_name <домен>;
ssl_certificate /path/to/cert;
ssl_certificate_key /path/to/key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!MD5;
client_max_body_size 10000M;
location / {
proxy_pass http://localhost:8081/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Port 443;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_redirect http:// https://;
}
}
server {
listen 80;
server_name <домен>;
return 301 https://$host$request_uri;
}
6.3 Создание символичиской ссылки для "активации"
ln -s /etc/nginx/sites-availble/nexus.conf /etc/nginx/sites-enable
6.4 Проверка конфига и перезапуск nginx
Для проверки:
sudo nginx -t
Для презагрузки конфигурации
sudo nginx -s reload
или
sudo systemctl reload nginx.service
Last updated