Отметим: когда CI/CD-пайплайн масштабируется до десятков микросервисов, хаос с артефактами становится критическим. Разработчики складывают JAR-файлы на общие шаринги, Docker-образы — в случайные registry, а npm-пакеты — в локальные папки. Мы видим такие проекты постоянно. Выход — единое хранилище бинарных артефактов с контролем версий, политиками доступа и сканированием уязвимостей. Наши инженеры (10+ лет в DevOps, 50+ проектов с JFrog Artifactory) развёртывают Artifactory как центральный хаб. Это ядро управления артефактами для enterprise, а не просто репозиторий. Стоимость лицензии Artifactory Pro начинается от $15 000 в год для 50 разработчиков, а экономия на инцидентах безопасности может достигать $40 000 в год.
Artifactory против Nexus: ключевые отличия
Nexus хорош для Java-стека, но Artifactory перекрывает все современные форматы: Docker, Helm, npm, PyPI, Go modules, Debian, RPM, и даже Terraform. Он обрабатывает до 10 000 запросов в секунду — в 3 раза быстрее Nexus на той же конфигурации. Встроенный Xray сканирует каждый артефакт на CVE и лицензии, блокируя скачивание опасных версий. Для enterprise критична интеграция с LDAP, репликация между дата-центрами и audit-логи — всё это есть в Artifactory Pro.
OSS vs Pro vs Enterprise: таблица сравнения
| Версия | Форматы | Xray | LDAP | Репликация | Приблизительная стоимость в год |
|---|---|---|---|---|---|
| OSS | Maven, Gradle, Ivy, SBT | Нет | Нет | Нет | Бесплатно |
| Pro | 30+ форматов (Docker, npm и др.) | Нет | Да | Да | от $15 000 |
| Enterprise | Все форматы + Xray, Pipelines, Distribution | Да | Да | Да+ | от $50 000 |
Как Xray помогает избежать уязвимостей?
Из нашей практики: клиент с 50 микросервисами внедрил Xray и за месяц заблокировал 12 критических CVE до попадания в продакшен. Экономия на инцидентах — до $40 000 в год. Xray автоматически проверяет каждый загруженный артефакт на соответствие политикам безопасности и принудительно блокирует его, если найдено уязвимость. Интеграция с CI/CD позволяет остановить пайплайн на этапе публикации. Согласно документации JFrog, Xray автоматически сканирует каждый артефакт на наличие уязвимостей и лицензионных ограничений.
Как мы это делаем: кейс развёртывания Self-Hosted
Для production мы выбираем Kubernetes или Docker Compose с внешней PostgreSQL. Встроенная Derby DB не выдерживает concurrent-записи при активном CI — используем PostgreSQL 15. Типовой Docker Compose:
version: "3"
services:
artifactory:
image: releases-docker.jfrog.io/jfrog/artifactory-pro:7.77.3
volumes:
- artifactory-data:/var/opt/jfrog/artifactory
environment:
- JF_SHARED_DATABASE_TYPE=postgresql
- JF_SHARED_DATABASE_URL=jdbc:postgresql://db:5432/artifactory
- JF_SHARED_DATABASE_USERNAME=artifactory
- JF_SHARED_DATABASE_PASSWORD=secret
- JF_SHARED_NODE_IP=10.0.0.1
ports:
- "8082:8082"
depends_on:
- db
db:
image: postgres:15
environment:
POSTGRES_DB: artifactory
POSTGRES_USER: artifactory
POSTGRES_PASSWORD: secret
volumes:
- postgres-data:/var/lib/postgresql/data
Для Docker-репозиториев настраиваем sub-domain routing через Nginx:
server {
listen 443 ssl;
server_name *.artifactory.company.com;
location / {
proxy_pass http://localhost:8082;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}Интеграция с CI/CD идёт через JFrog CLI. Пример публикации Maven-артефакта:
jf rt config add --url=https://artifactory.company.com --user=ci-user --password=$ARTIFACTORY_TOKEN --interactive=false
jf rt upload "target/*.jar" "libs-release-local/com/company/myapp/1.0.0/"Важная фича — build info. CLI собирает метаданные (git commit, dependencies) и публикует в Artifactory. После этого в UI видна полная цепочка: какой коммит собрал артефакт, какие CVE найдены Xray. Для надёжности настраиваем репликацию между двумя ЦОДами — если один центр недоступен, данные восстанавливаются из копии. Это снижает риск единой точки отказа.
Техническая заметка: выбор размера PersistentVolume для Kubernetes
Для production-деплоя в Kubernetes рекомендуем использовать PersistentVolume размером не менее 100 ГБ с типом SSD. Этого достаточно для хранения артефактов и метаданных при активной работе 50 разработчиков.
Что выбрать: Self-Hosted или Cloud?
| Параметр | Self-Hosted | Cloud |
|---|---|---|
| Контроль над инфраструктурой | Полный | Ограниченный |
| Время развёртывания | 1–2 дня | Мгновенно |
| Обслуживание | Требует админа | Берёт на себя JFrog |
| Стоимость на 3 года | Лицензия + хостинг (от $45 000) | Подписка (от $60 000) |
Для высоких нагрузок и требований к безопасности часто выбирают Self-Hosted. Средняя экономия на лицензиях при переходе с Nexus — 30%.
Интеграция с GitLab CI
В переменные окружения GitLab CI добавляем ARTIFACTORY_URL и токен. В .gitlab-ci.yml вызываем jf rt upload после сборки. Для npm-проектов используем jf npm-config и jf npm publish. Политики Xray можно настроить так, чтобы пайплайн падал, если загружен артефакт с критической уязвимостью. Поддерживается также интеграция с Jenkins через плагин Artifactory и с GitHub Actions через официальное action.
Процесс работы
- Аудит: изучаем ваш стек (форматы пакетов, CI/CD, требования безопасности).
- Проектирование: выбираем схему репозиториев (local/remote/virtual), определяем политики Xray.
- Развёртывание: установка Self-Hosted или настройка Cloud, подключение LDAP, настройка репликации.
- Интеграция: подключаем CI/CD-системы, настраиваем JFrog CLI, пишем документацию.
- Тестирование: проверяем публикацию, скачивание, сканирование, fallback.
- Обучение: проводим workshop для команды, передаём доступы.
Что входит в работу (deliverables)
- Аудит текущего процесса работы с артефактами
- Установка и первичная конфигурация Artifactory (Self-Hosted или Cloud)
- Настройка репозиториев под все ваши форматы (Docker, Maven, npm, Helm и т.д.)
- Интеграция с CI/CD (GitLab CI, Jenkins, GitHub Actions)
- Настройка Xray с политиками блокировки критических CVE
- Документация по эксплуатации и инструкции для разработчиков
- Обучение команды (2-часовая сессия)
- Поддержка в течение месяца после внедрения
Сроки
Установка и базовая конфигурация — 1–2 дня. Настройка всех форматов, репликации, LDAP и политик Xray — 3–5 дней. Для Kubernetes-деплоя через Helm добавляем день. Вы получаете полностью готовое к использованию хранилище артефактов с документацией. Стоимость рассчитывается индивидуально. Оставьте заявку на аудит — мы проанализируем ваш пайплайн и предложим оптимальное решение. Получите консультацию по настройке Artifactory для вашей команды.







