Настройка JFrog Artifactory для управления артефактами в DevOps

Когда CI/CD-пайплайн масштабируется, хаос с артефактами становится критическим: файлы разбросаны по шарингам и случайным registry. Мы настраиваем JFrog Artifactory как единый DevOps-репозиторий, интегрируя его с вашими CI/CD-процессами и сканированием уязвимостей Xray. Наша команда реализует проект под ключ — от аудита до внедрения и последующей поддержки, обеспечивая надёжное и масштабируемое управление артефактами.
Часто задаваемые вопросы

Отметим: когда 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.

Процесс работы

  1. Аудит: изучаем ваш стек (форматы пакетов, CI/CD, требования безопасности).
  2. Проектирование: выбираем схему репозиториев (local/remote/virtual), определяем политики Xray.
  3. Развёртывание: установка Self-Hosted или настройка Cloud, подключение LDAP, настройка репликации.
  4. Интеграция: подключаем CI/CD-системы, настраиваем JFrog CLI, пишем документацию.
  5. Тестирование: проверяем публикацию, скачивание, сканирование, fallback.
  6. Обучение: проводим 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 для вашей команды.

Наши компетенции:

Последние работы

  • Разработка сайта компании B2B ADVANCE
    Разработка сайта компании B2B ADVANCE
    1542
  • Разработка веб-приложения для компании FEEDME
    Разработка веб-приложения для компании FEEDME
    1394
  • Разработка веб-сайта для компании БЕЛФИНГРУПП
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    1081
  • Разработка интернет магазина для компании FURNORO
    Разработка интернет магазина для компании FURNORO
    1369
  • Разработка логотипа компании B2B Advance
    Разработка логотипа компании B2B Advance
    816
  • Разработка веб-приложения для компании Enviok
    Разработка веб-приложения для компании Enviok
    1141