Русские Блоги
Повышение эффективности командной разработки — Репозиторий Nexus
О повышении эффективности командной разработки можно много сказать, вот относительно простой и «очевидный эффект».
В некоторых компаниях, если доступ к внешней сети ограничен, для доступа к внешней сети может потребоваться унифицированный прокси. И более строгое управление может также выдавать самозаверяющие сертификаты для внешних ресурсов, к которым осуществляется доступ, что вызовет несколько проблем.
- Каждому нужно настроить агент на рабочем компьютере
- Разные программы / платформы имеют разные способы настройки агентов.
- Медленный доступ
- Может потребоваться импортировать самозаверяющий сертификат в соответствующее хранилище доверенных сертификатов, и он может обновляться регулярно или нерегулярно.
Вышеупомянутые проблемы могут влиять на людей, выполняющих разные роли, будь то разработка, тестирование или даже эксплуатация и обслуживание. (Пока это связано с упаковкой, это повлияет более или менее)
Если одному человеку требуется 30 минут, чтобы решить вышеуказанные проблемы, то 10 людям нужно 5 часов. Общее время расчета по-прежнему велико, что сильно влияет на общую эффективность.
(если вы индивидуальный разработчик, это может не иметь большого смысла)
Есть ли решение? возможно Nexus Repository Это выбор.
Что такое Nexus и для чего он нужен?
При разработке часто используются различные зависимые библиотеки, например, в Java / Android. maven central , В Python pypi и многое другое.
Nexus Repository Это менеджер склада, с помощью которого мы можем проксировать различные общественные склады или строить собственные частные склады. Делает управление зависимостями, компиляцию, выпуск, развертывание и т. Д. При разработке программного обеспечения более удобным и эффективным.
Nexus Repository Есть Pro Платная версия, но обычно мы пользуемся ею бесплатно OSS Версия нормальная.
Как пользоваться Nexus?
установка
Здесь я использую docker Для установки, конечно, вы также можете напрямую загрузить установочный пакет и установить его.
скачать nexus новейший image
Привязываем порт и запускаем
Локальный тест, откройте браузер и введите
Увидев этот интерфейс, установка прошла успешно
В первый раз, когда установка будет успешной, нам будет предложено изменить пароль администратора по умолчанию, нам нужно shell Войдите и получите пароль
Если вы хотите остановить или запустить нексус, выполните следующую команду
$ docker stop/start nexusМы не настраивали автозапуск раньше, если вам нужно, чтобы контейнер запускался автоматически с запуском докера, вы можете выполнить следующую команду
$ docker update —restart=always nexus
В репо по умолчанию есть эти
Android/Java
Конфигурация на стороне сервера
Android и Java будут разделять большую часть общедоступных maven, наиболее распространенными из них являются
- maven central
- jcenter
- fabric
Кроме того, Android также будет использовать
- gradle plugin
- gradle distribution
В качестве примера возьмите распределение Gradle, чтобы увидеть, как добавить эту конфигурацию
Обратите внимание, что его тип raw(proxy)
Вот краткое изложение часто используемых maven и соответствующего типа
| public repo | type | remote location — official | mirror in China |
|---|---|---|---|
| maven2 (proxy) | https://dl.google.com/dl/android/maven2 | https://maven.aliyun.com/repository/google | |
| maven central | maven2 (proxy) | https://repo1.maven.org/maven2/ | https://maven.aliyun.com/repository/central |
| jcenter | maven2 (proxy) | https://jcenter.bintray.com/ | https://maven.aliyun.com/repository/jcenter |
| fabric | maven2 (proxy) | https://maven.fabric.io/public/ | — |
| gradle plugin | maven2 (proxy) | https://plugins.gradle.org/m2/ | https://maven.aliyun.com/repository/gradle-plugin |
| gradle distribution | raw (proxy) | https://services.gradle.org/distributions/ | — |
После создания соответствующего репо по очереди настройте maven-public, чтобы добавить все репо типа maven2
Конфигурация клиента
Возьмите проект Android в качестве примера, чтобы увидеть, какую конфигурацию нам нужно изменить.
Сначала откройте проект в любом текстовом редакторе (не используйте Android Studio или IDEA, он автоматически запустит синхронизацию градиента)
Изменить элемент build.gradle Репо
Изменить элемент settings.gradle , Настройте репозиторий плагина Gradle
Изменить файл gradle/wrapper/gradle-wrapper.properties
NodeJs
Конфигурация на стороне сервера
Создайте npm (proxy) Репо, удаленный URL
Конфигурация клиента
Посмотреть текущий npm из registry — $ npm get registry
Настроить зеркало npm
Восстановить реестр npm
Python
Конфигурация на стороне сервера
Создайте pypi (proxy) Репо, удаленный URL
Конфигурация клиента
Просмотр информации о текущей конфигурации, $ pip3 config list -v
Создайте файл в каталоге пользователя
/.pip/pip.conf (Если его не существует), добавьте следующую конфигурацию
Обратите особое внимание на то, что просто необходимо в конце index-url. Адрес перед простым — это адрес доступа к нексусу, замените его своим адресом.
Поскольку мы не используем https, нам нужно добавить наш хост к доверенному хосту.
Создайте cocoapods (proxy) Репо, удаленный URL
cocoapods Беда в том, что клиент поддерживает только https , Я еще не тестировал. Решение состоит в том, чтобы использовать самозаверяющий сертификат для включения https. Заинтересованные студенты могут настроить в соответствии с инструкциями в официальном документе -CocoaPods Repositories
Summary
Подводя итог, мы
- Поймите, что Nexus Repository, как менеджер зависимостей пакетов, может решить проблему утомительной и медленной конфигурации загрузки зависимостей внутри компании.
- Затем объяснил, как установить и настроить Nexus.
- Впоследствии объяснения конфигурации были сделаны для различных платформ, таких как Android/Java , NodeJs , Python , с участием iOS
Это лишь часть списка. На самом деле Nexus поддерживает многие другие, например apt , conda , docker , go , nuget , rubygems , yum и многое другое. Если есть соответствующая необходимость, вы можете найти соответствующую информацию для настройки и использования.
Nexus Repository Manager
![]()
A repository manager is used to storing build artifacts and provide the feature to push and pull artifacts using integration tools like Jenkins.
In this blog, we are discussing the nexus repository manager. Nexus installation brings such a repository for the company. So we can host our own repositories, but also use Nexus as a proxy for public repositories. With such a proxy the time to receive an artifact is reduced and it saves bandwidth. Nexus allows you to host your private build artifacts. Nexus is available as commercial and Open Source distribution.
Installation of Nexus on windows:
Unzip nexus3-* zip to any directory on your local machine like “D:\Nexus\”.
Open Command prompt as admin privileges and browse nexus unzipped folder and run below command:
cd <browse to folder>
nexus.exe /install <service_name>
once the above command runs successfully, you can check into windows services.
Configuration:
once the nexus is installed, visit the nexus URL either using machine IP or hostname (depends on your environment configuration)
by default nexus is used 8081 port, we can provide own port also.
after hitting the URL, you will get a page like this.
Just Sign on this page with the default username (admin) and password is stored in /nexus-data/admin.password
Create Repository:
To create click on the icon above and click on create repository.
then select recipe, nexus provides different recipes.
provide the name of the repository and fill the details mentions.
after clicking on create repository you will get the list of repositories.
Установка и настройка Nexus Sonatype используя подход infrastructure as code
Sonatype Nexus – платформа, с помощью которой разработчики могут проксировать, хранить и управлять зависимостями Java (Maven), образами Docker, Python, Ruby, NPM, Bower, RPM-пакетами, gitlfs, Apt, Go, Nuget, а также распространять свое программное обеспечение.
Зачем нужен Sonatype Nexus?
- Для хранения приватных артефактов;
- Для кеширования артефактов, которые скачиваются из интернета;
Артефакты поддерживаемые в базовой поставке Sonatype Nexus:
- Java, Maven (jar)
- Docker
- Python (pip)
- Ruby (gem)
- NPM
- Bower
- Yum (rpm)
- gitlfs
- Raw
- Apt (deb)
- Go
- Nuget
Артефакты поддерживаемые сообществом:
- Composer
- Conan
- CPAN
- ELPA
- Helm
- P2
- R
Установка Sonatype Nexus используя https://github.com/ansible-ThoTeam/nexus3-oss
Требования
- Прочитайте про использование ansible в интернете.
- Установите ansible pip install ansible на рабочей станции где запускается playbook.
- Установите geerlingguy.java на рабочей станции где запускается playbook ansible-galaxy install geerlingguy.java .
- Установите geerlingguy.apache на рабочей станции где запускается playbook ansible-galaxy install geerlingguy.apache .
- Склонируйте git репозиторий git clone https://github.com/ansible-ThoTeam/nexus3-oss.git
- Эта роль протестирована на CentOS 7, Ubuntu Xenial (16.04) and Bionic (18.04), Debian Jessie and Stretch
- jmespath библиотека должна быть установлена на рабочей станции где запускается playbook. Для установки выполните sudo pip install -r requirements.txt
- Сохраните файл playbook (пример ниже) в файл nexus.yml
- Запустите установку nexus ansible-playbook -i host nexus.yml
Пример ansible-playbook для установки nexus без LDAP с репозиториями Maven (java), Docker, Python, Ruby, NPM, Bower, RPM и gitlfs.
Скриншоты:


Переменные роли
Role Variables
Переменные со значениями по умолчанию (см. default/main.yml ):
General variables
По умолчанию роль установит последнюю доступную версию Nexus. Вы можете исправить версию, изменив переменную nexus_version . Смотрите доступные версии на https://www.sonatype.com/download-oss-sonatype.
Если вы измените версию на более новую, то роль попытается обновить ваш установленный Nexus.
Если вы используете более старую версию Nexus, чем последняя, вы должны убедиться, что не используете функции, которые недоступны в установленном выпуске (например, размещенние yum репозиториев доступно для nexus больше чем 3.8.0, git lfs repo для nexus больше чем 3.3.0 и т. д.)
nexus timezone — это имя часового пояса Java, которое может быть полезно в сочетании с приведенными ниже выражениями cron для nexus_scheduled tasks.
Порт Nexus и контекстный путь
Порт и контекстный путь процесса Java-соединения. nexus_default_context_path должен содержать косую черту, когда он установлен, например.: nexus_default_context_path: ‘/nexus/’ .
Пользователь и группа ОС Nexus
Пользователь и группа, используемые для владения файлами Nexus и запуска службы, будут созданы ролью, если она отсутствует.
Разрешить изменять домашний каталог по умолчанию для пользователя nexus
Каталоги экземпляров Nexus
- nexus_installation_dir содержит установленные исполняемые файлы
- nexus_data_dir содержит всю конфигурацию, репозитории и загруженные артефакты. Кастомные пути blobstores nexus_data_dir могут быть настроены, смотрите ниже nexus_blobstores .
- nexus_tmp_dir содержит все временные файлы. Путь по умолчанию для redhat был перемещен из /tmp для преодоления потенциальные проблемы с автоматическими процедурами очистки. Смотрите #168.
Настройка использование памяти Nexus JVM
Это настройки по умолчанию для Nexus. Пожалуйста, не изменяйте эти значения Если вы не прочитали раздел памяти системных требований nexus и не понимаете, что они делают.
Как второе предупреждение, вот выдержка из вышеупомянутого документа:
Пароль администратора
Пароль учетной записи «admin» для настройки. Это работает только при первой установке по умолчанию. Пожалуйста, смотрите [Изменить пароль администратора после первой установки](# change-admin-password-after-first-install), если вы хотите изменить его позже с помощью роли.
Настоятельно не рекомендуется хранить свой пароль в виде открытого текста в playbook, а использовать [шифрование ansible-vault] (https://docs.ansible.com/ansible/latest/user_guide/vault.html) (либо встроенный или в отдельный файл, загруженный, например, с помощью include_vars)
Анонимный доступ по умолчанию
Анонимный доступ по умолчанию вылючен. Подробнее про анонимный доступ.
Публичное имя хоста
Полное доменное имя и схема (https или http), по которой экземпляр Nexus будет доступен для его клиентов.
Доступ API для этой роли
Эти переменные контролируют, как роль подключается к API Nexus для предоставления.
Только для продвинутых пользователей. Скорее всего, вы не хотите изменять эти настройки по умолчанию
Настройка обратного прокси
Установите Обратный прокси-сервер SSL.
Для этого нужно установить httpd. Примечание: когда для httpd_setup_enable установлено значение true , nexus связывается с 127.0.0.1:8081, таким образом не будучи напрямую доступным через HTTP-порт 8081 с внешнего IP-адреса.
Используемое имя хоста по умолчанию — nexus_public_hostname . Если вам нужны разные имена по какой-либо причине, вы можете установить httpd_server_name с другим значением.
С httpd_copy_ssl_files: true (по умолчанию) вышеупомянутые сертификаты должны существовать в вашей директории playbook и будут скопированы на сервер и настроены в apache.
Если вы хотите использовать существующие сертификаты на сервере, установите httpd_copy_ssl_files: false и предоставьте следующие переменные:
httpd_ssl_cert_chain_file_location является необязательным и должен быть оставлен неустановленным, если вы не хотите настраивать файл цепочки
Установить адрес электронной почты администратора по умолчанию
Конфигурация LDAP
Соединения LDAP и область безопасности по умолчанию отключены
Соединения LDAP, каждый элемент выглядит следующим образом:
Пример конфигурации LDAP для анонимной аутентификации (анонимная привязка), это также «минимальная» конфигурация:
Пример конфигурации LDAP для простой аутентификации (с использованием учетной записи DSA):
Пример конфигурации LDAP для простой аутентификации (с использованием учетной записи DSA) + группы, сопоставленные как роли:
Пример конфигурации LDAP для простой аутентификации (с использованием учетной записи DSA) + группы, динамически сопоставленные как роли:
Привилегии
Список привилегий для настройки. Посмотрите документацию и графический интерфейс, чтобы проверить, какие переменные должны быть установлены в зависимости от типа привилегии.
Эти элементы объединяются со следующими значениями по умолчанию:
Роли (внутри Nexus имеется виду)
Список ролей для настройки.
Пользователи
Local (non-LDAP) users/accounts list to create in nexus.
Список локальных (не LDAP) пользователей/учетных записей для создания в Nexus.
Маппинг Ldap пользователей/ролей. Состояние absent удалит роли из существующего пользователя, если он уже существует.
Пользователи Ldap не удаляются. Попытка установить роль для несуществующего пользователя приведет к ошибке.
Селекторы контента
Для получения дополнительной информации о селекторе контента см. Документацию.
Чтобы использовать селектор контента, добавьте новую привилегию с type: repository-content-selector и соответствующим contentSelector
Blobstores и репозитории
Delete the repositories from the nexus install initial default configuration. This step is only executed on first-time install (when nexus_data_dir has been detected empty).
Удаление репозиториев из исходной конфигурации по умолчанию для Nexus. Этот шаг выполняется только при первой установке (когда nexus_data_dir пустой).
Delete the default blobstore from the nexus install initial default configuration. This can be done only if nexus_delete_default_repos: true and all configured repositories (see below) have an explicit blob_store: custom . This step is only executed on first-time install (when nexus_data_dir has been detected empty).
Удаление хранилища блобов (бинарных артефактов) выключено по умолчанию из исходной конфигурации. Для удаления хранилища блобов (бинарных артефактов) выключите nexus_delete_default_repos: true . Этот шаг выполняется только при первой установке (когда nexus_data_dir пустой).
Blobstores to create. A blobstore path and a repository blobstore cannot be updated after initial creation (any update here will be ignored on re-provisionning).
Configuring blobstore on S3 is provided as a convenience and is not part of the automated tests we run on travis. Please note that storing on S3 is only recommended for instances deployed on AWS.
Cоздание Blobstores. Путь к хранилищу и репозиторию хранилищ не могут быть обновлены после первоначального создания (любое обновление здесь будет игнорироваться при повторной установке).
Настройка хранилища BLOB-объектов на S3 предоставляется для удобства. Обратите внимание, что хранение на S3 рекомендуется только для экземпляров, развернутых на AWS.
Выше пример конфигурации прокси-сервер Maven.
Maven hosted repositories configuration. Negative cache config is optionnal and will default to the above values if omitted.
Конфигурация размещенных (hosted) репозиториев Maven. Конфигурация отрицательного кэша (-1) является необязательной и будет по умолчанию использовать вышеуказанные значения, если не указана.
Все три типа репозитория объединяются со следующими значениями по умолчанию:
Docker, Pypi, Raw, Rubygems, Bower, NPM, Git-LFS and yum repository types:
see defaults/main.yml for these options:
Хранилища Docker, Pypi, Raw, Rubygems, Bower, NPM, Git-LFS и yum по умолчанию выключены:
Смотрите defaults/main.yml для этих опций:
Обратите внимание, что вам может потребоваться включить определенные области безопасности, если вы хотите использовать другие типы репозиториев, кроме maven. Это по умолчанию false
Remote User Realm также может быть включена с помощью
и заголовок может быть настроен путем определения
Запланированные задачи
Запланированные задачи для настройки. typeId и специфичные для задачи taskProperties / booleanTaskProperties можно угадать либо:
- из иерархии типов Java org.sonatype.nexus.scheduling.TaskDescriptorSupport
- проверяя HTML-форму создания задачи в вашем браузере
- от просмотра запросов AJAX в браузере при ручной настройке задачи.
Свойства задачи должны быть объявлены в правильном блоке yaml в зависимости от их типа:
- taskProperties для всех строковых свойств (т. е. имен репозиториев, имен хранилищ, периодов времени . ).
- booleanTaskProperties для всех логических свойств (т. е. в основном чекбоксы в графическом интерфейсе задачи создания нексуса).
Резервные копии
Резервное копирование не будет настроено, пока вы не переключите nexus_backup_configure в true .
В этом случае запланированная задача сценария будет настроена для запуска в Nexus
с интервалом, указанным в nexus_backup_cron (по умолчанию 21:00 каждый день).
См. [Шаблон groovy для этой задачи](templates / backup.groovy.j2) для получения подробной информации.
Это запланированное задание не зависит от других nexus_scheduled_tasks , которые вы
объявить в своем playbook.
Если вы хотите ротировать/удалять резервные копии, установите nexus_backup_rotate: true и настройте количество бекапов, которое вы хотели бы сохранить с помощью nexus_backup_keep_rotations (по умолчанию 4).
При использовании ротации, если вы хотите сэкономить дополнительное дисковое пространство во время процесса резервного копирования,
Вы можете установить nexus_backup_rotate_first: true . Это настроит предварительное ротирование/удаление перед бекапом. По умолчанию ротиция происходит после создания резервной копии. Обратите внимание, чем в этом случае старые резервные копии
удалятся до того, как текущий бекап будет сделан.
Процедура восстановления
Запустите playbook с параметром -e nexus_restore_point=<YYYY-MM-dd-HH-mm-ss>
(например, 2017-12-17-21-00-00 для 17 декабря 2017 в 21:00
Удаление nexus
Предупреждение: это полностью удалит текущие данные. Обязательно сделайте резервную копию ранее, если это необходимо
Используйте переменную nexus_purge , если вам нужно перезапустить с нуля и переустановить экземпляр nexus с удалением всех данных.
Изменить пароль администратора после первой установки
Это не должно быть изменено в вашем playbook. Эта переменная заполняется стандартным паролем администратора Nexus при первой установке и гарантирует, что мы можем изменить пароль администратора на nexus_admin_password .
Если вы хотите изменить пароль администратора после первой установки, вы можете временно изменить его на старый пароль из командной строки. После изменения nexus_admin_password в вашей игровой книге вы можете запустить:
Введение
Если вы работаете над большим проектом, который займет много времени, менеджер репозиториев – это то, что может сэкономить вам много времени и сил.
Допустим, вы создаете Java-Maven приложение. Оно использует Maven Central Repository для разрешения зависимостей. Теперь, если вы хотите использовать пакет, не предоставляемый Java по умолчанию, вам нужно получить его из Maven Central. С менеджерами репозиториев эти пакеты хранятся в самом менеджере репозиториев, поэтому вам не придется искать разные пакеты в разных местах.
Что такое менеджер репозиториев?
Менеджер репозиториев – это выделенное место на сервере, которое используется для управления всеми репозиториями, необходимыми команде разработчиков на протяжении всего цикла разработки.
Мы можем рассматривать менеджер репозиториев как хранилище для отдельных частей. Так же как склад служит централизованным местом хранения деталей и управляет получением, отправкой и всем остальным, менеджер репозиториев управляет всеми деталями, участвующими в процессе разработки программного обеспечения.
Репозиторий и менеджер репозитория
Репозиторий – это место хранения, откуда извлекаются компоненты, такие как артефакты, двоичные файлы или контейнеры, чтобы их можно было установить или использовать, а **Менеджер репозитория** – это специальное приложение, которое управляет всеми вашими внутренними или прокси-репозиториями.
Зачем вам это нужно?
Допустим, вы работаете в компании, которая работает над множеством проектов. Некоторые из них создаются с использованием Java, .NET и Python. Каждый из них будет создавать различные типы артефактов. Теперь для хранения каждого из них вам понадобится разное программное обеспечение. Менеджер репозитория решает эту проблему и предоставляет централизованную платформу для хранения всех компонентов, участвующих в процессе разработки программного обеспечения. Некоторые из других функций менеджера репозитория следующие:
Экономия времени и полосы пропускания за счет уменьшения количества загрузок из удаленных хранилищ.
Резервное копирование и восстановление
Поддержка нескольких форматов
Почему именно Nexus Repository Manager?

Nexus Repository Manager – это БЕСПЛАТНЫЙ в использовании менеджер хранилищ артефактов от Sonatype . Он поддерживает широкий спектр форматов, таких как APT, NuGET, Maven и Docker. Список всех поддерживаемых форматов можно найти здесь.
Теперь, когда вы знаете, что такое Nexus Repository Manager, позвольте мне показать вам, как настроить его на облачном сервере. В этом блоге мы настроим Nexus на Digital Ocean Droplet (облачный сервер), но вы можете сделать то же самое практически на любом другом облачном сервисе. Нажмите здесь, чтобы получить БЕСПЛАТНЫЙ кредит 100$ в Digital Ocean на 60 дней.
Настройка Nexus на двойном сервере Digital Ocean
ШАГ 1: Создайте Droplet (облачный сервер).
Я выбрал Ubuntu 20.04 LTS , но вы можете использовать дистрибутив по своему усмотрению. Вы можете выбрать регион центра обработки данных, который находится ближе всего к вашему местоположению. В моем случае это Бангалор . Вы можете использовать Password Authentication (менее безопасно) или SSH keys (более безопасно) для аутентификации.
Примечание: Убедитесь, что вы выбрали 8 GB/ 4 vCPUs droplet , потому что Nexus занимает много памяти и иногда сильно загружает процессор.
ШАГ 2: Войдите в дроплет, используя его публичный IP-адрес .
Если вы использовали SSH key Authentication , вам не будет предложено ввести пароль, но если вы использовали Password Authentication , вам нужно будет ввести пароль для аутентификации.
Примечание: Пользователем по умолчанию для любого дроплета Digital Ocean является root .
ШАГ 3 : Установите Java версии 8 и сетевые инструменты.
Для работы менеджера репозитория Nexus требуется установить Java версии 8 .
Мы будем использовать утилиту netstat , чтобы проверить, какой порт прослушивает наше приложение, для чего необходимо установить пакет net-tools .
Для установки Java версии 8 и net-tools используйте команду :
Чтобы проверить, правильно ли установлена Java, используйте команду :
Приведенная выше команда должна выдать результат :
ШАГ 4: Скачайте Nexus Repository Manager и untar его.
Чтобы загрузить Nexus Repository Manager в /opt используйте команду :
Чтобы разархивировать его, используйте команду :
После выполнения вышеуказанных команд, при выполнении команды ls (list files and directories), должно появиться 2 новых каталога, а именно nexus-3.38.1-01 и sonatype-work .
ШАГ 5: Создайте нового пользователя nexus , дайте ему соответствующие разрешения и измените конфигурацию nexus для запуска от имени пользователя nexus .
Примечание : Службы не должны запускаться с правами пользователя Root.
Лучшая практика : Создайте нового пользователя для каждой службы .
Чтобы создать нового пользователя nexus , используйте команду :
Будет запрошена информация о пользователе и пароль. Чтобы пропустить ввод некоторых значений, нажмите клавишу Enter .
Измените права собственности на каталоги nexus-3.38.1-01 и sonatype-work с root на nexus . Для этого воспользуйтесь командой :
Чтобы проверить, было ли изменено право собственности, используйте команду :
Она должна вывести :
Чтобы изменить конфигурацию nexus для запуска от имени пользователя nexus, откройте файл nexus.rc с помощью :
Замените его содержимое на :
ШАГ 6: Войдите под именем nexus и запустите службу nexus .
Чтобы переключить пользователя с root на nexus , используйте команду su — <имя_пользователя> .
Теперь, чтобы запустить nexus, используйте команду :
Должно появиться сообщение :
Чтобы проверить, успешно ли он запустился или нет, введите :
Должно появиться сообщение :
В моем случае процесс с идентификатором процесса 20353 . По умолчанию он доступен на порту 8081 . Мы можем проверить это с помощью команды :
Это даст результат :
Мы можем подтвердить, что 20353/java (служба nexus) доступна через порт 8081 .
Если в вашем случае он не отображается, дайте ему некоторое время (не менее 5 минут) перед перезапуском
службу.
Доступ к Nexus из браузера
Мы можем получить доступ к Nexus из браузера, но для этого нам нужно настроить брандмауэр нашего дроплета, чтобы разрешить входящие запросы на порт 8081 .
Щелкните на дроплет
Откройте раздел Networking
Прокрутите страницу вниз и нажмите на кнопку Edit под Firewall
Нажмите на Создать брандмауэр
Назовите правило Firewall rule
В разделе inbound rules (правила для входящих запросов) создайте новое Custom правило. Пусть протокол будет TCP и измените порт на 8081 . Удалите All IPv4 и All IPv6 из источников и поместите свой Public IP address в это поле, потому что вы не хотите, чтобы ваш nexus сервис был доступен кому-либо.
Вы можете получить свой Public IP-адрес из URL :
Чтобы получить доступ к нему из браузера, откройте браузер и в адресной строке введите:
Например, в моем случае это 143.110.189.99:8081 , где 143.110.189.99 – IPv4 моего Droplet’а, а 8081 – номер порта.
Поздравляем! Вы готовы к использованию Nexus в вашем браузере.
Заключение
Если вы узнали что-то новое из этого блога, обязательно поставьте лайк, поделитесь и следуйте за мной на платформе. Также не стесняйтесь общаться со мной в Twitter. Спасибо, что читаете!