Налаштування JFrog Artifactory для управління артефактами в DevOps

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

Налаштування JFrog Artifactory для управління артефактами — це ключ до ефективного DevOps репозиторію. Ми забезпечуємо інтеграцію з CI/CD, сканування вразливостей Xray, підтримку Docker репозиторіїв та Helm chart Artifactory. Використовуйте JFrog CLI для автоматизації публікації артефактів. Self-Hosted Artifactory або Artifactory Pro — ми оберемо оптимальне рішення для вашого enterprise управління артефактами. Наша команда — 10+ років у DevOps, 50+ проєктів з JFrog Artifactory.

Зауважимо: коли CI/CD-пайплайн масштабується до десятків мікросервісів, хаос з артефактами стає критичним. Розробники складають JAR-файли на спільні шаринги, Docker-образи — у випадкові registry, а npm-пакети — в локальні папки. Ми бачимо такі проєкти постійно. Вихід — єдине сховище бінарних артефактів з контролем версій, політиками доступу та скануванням вразливостей. Наші інженери (10+ років у DevOps, 50+ проєктів з JFrog Artifactory) розгортають Artifactory як центральний хаб. Ми працюємо на ринку DevOps з 2015 року, виконали понад 50 проєктів з JFrog 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 запитів на секунду — втричі швидше за 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 додаємо день. Ви отримуєте повністю готове до використання сховище артефактів з документацією. Вартість базового налаштування — від $2 000, повний комплекс — від $8 000. Залиште заявку на аудит — ми проаналізуємо ваш пайплайн і запропонуємо оптимальне рішення. Отримайте консультацію з налаштування Artifactory для вашої команди.

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

Останні роботи

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