Artifactory — инструмент для хранения артефактов (пакетов, разработанных вами или другими разработчиками). В нашей инструкции мы рассмотрим пример настройки сервиса для проксирования пакетов Python — клиент будет запрашивать пакет для установки у нашего сервера, а если его нет, то Artifactory запросит его в Интернет и сохранит копию у себя.
Подготовка сервера
Установка Artifactory
Настройка проксирования пакетов
Действия на сервере
Действия на клиенте
1. Установка обновлений. Сначала обновляем список пакетов в репозитории:
apt update
Если наша система чистая и на ней не работают критически важные сервисы, стоит обновить установленные пакеты:
apt upgrade
2. Если в нашей системе брандмауэр по умолчанию настроен на запрет входящих пакетов, то открываем порты 8081 и 8082:
iptables -I INPUT -p tcp —dport 8081 -j ACCEPT
iptables -I INPUT -p tcp —dport 8082 -j ACCEPT
Для сохранения правил используем iptables-persistent:
apt install iptables-persistent
netfilter-persistent save
3. Установка необходимых пакетов:
apt install jq net-tools libllvm9 socat
* без данных пакетов установка Artifactory вернет ошибку:
Мы готовы перейти к установке Artifactory.
Artifactory распространяется на платной основе. Поэтому мы установим триальную версию и получим код для его активации на 30 дней.
Скачиваем архив со скриптами установки:
wget -O jfrog-deb-installer.tar.gz «https://releases.jfrog.io/artifactory/jfrog-prox/org/artifactory/pro/deb/jfrog-platform-trial-prox/[RELEASE]/jfrog-platform-trial-prox-[RELEASE]-deb.tar.gz»
Распакуем данный архив:
tar -xvzf jfrog-deb-installer.tar.gz
Переходим в каталог с содержимым распакованного архива:
cd jfrog-platform-trial-pro*
Запускаем скрипт установки:
./install.sh
Он будет выполняться некоторое время, после чего мы получим сообщение о необходимости запустить сервисы artifactory и xray.
Выполним это командами:
systemctl enable artifactory —now
systemctl enable xray —now
Теперь открываем браузер и переходим по адресу:
http://<IP-адрес сервера>:8082/ui/ — мы должны увидеть форму для входа в систему. Вводим логин и пароль по умолчанию ( admin и password ):
Мы должны попасть на мастер настройки. Пока ничего не делаем.
Отвлечемся от нашего сервера и перейдем по адресу https://jfrog.com/start-free/#hosted — должна открыться страница регистрации для получения триального ключа. Вводим свои данные для регистрации:
Ключ для компонентов artifactory и xray будут отправлены нам на почту.
Возвращаемся к нашему серверу и активируем систему:
На этом установка завершена и Artifactory готов к работе. Мы же ограничимся примером настройки проксирования для пакетов Python.
Мы рассмотрим:
Приступим…
В веб-интерфейсе перейдем в раздел администрирования:
По очереди создадим 3 репозитория — локальный, удаленный и виртуальный.
Начнем с локального:
Выбираем среди списка репозиторий Pypi:
Задаем имя для репозитория в нашей системе:
Локальный репозиторий создан.
По аналогии, создаем удаленный:
А также виртуальный:
При настройке виртуального репозитория добавим в него ранее созданные локальный и удаленный:
Это минимально-достаточная настройка для наших целей. Переходим к настройке клиента.
Остаемся в веб-интерфейсе Artifactory. В правом верхнем углу кликаем по Welcome, admin и выбираем Set Me Up :
В открывшемся окне выбираем «Package Type» Pypi и наш виртуальный репозиторий pypi . Вводим пароль для пользователя, под которым мы вошли в веб-интерфейс:
Переходим на вкладку Resolve — мы должны увидеть текст для настройки клиента:
Теперь переходим на компьютер, где будем настраивать клиент. Открываем конфигурационный файл для pip:
vi /etc/pip.conf
Если нужно настроить pip только для конкретного пользователя, вводим:
mkdir ~/.pip
vi ~/.pip/pip.conf
Добавляем текст, который мы получили ранее, а также добавляем настройку trusted-host :
[global]
index-url = http://admin:APLdxDAPCHVrL2sGfuh1N58fk8@192.168.101.100:8081/artifactory/api/pypi/pipy/simple
trusted-host = 192.168.101.100
* где:
Пробуем установить Python-пакет с помощью pip, например:
pip install django
Мы должны увидеть, что установка выполняется с нашего сервера Artifactory.
Zulip — программное обеспечение для реализации корпоративного чата. Разработан в 2012 году, в 2014 был…
Zookeeper — cервис-координатор, который позволяет обеспечить контроль синхронизации данных. Разработан на Java компанией Apache Software…
Zimbra — программное обеспечение для реализации почтового сервиса или, если сказать точнее, автоматизации совместной деятельности…
Zabbix — бесплатная система мониторинга. Позволяет отслеживать состояние сетевых узлов, компьютеров и серверов. Возможности: Поддержка…
YouTube — компания-владелец одноименного портала для просмотра и хранения видео. Чтобы пользоваться данным порталом достаточно…
Yota — провайдер, предоставляющий доступ к сети Интернет по беспроводной связи. Впервые, сервис начал работать…