Перейти к содержимому

Обзор ​

ProAnima Arkvory — это репозиторий артефактов сборки и файлов, который вы устанавливаете на собственный сервер. Он хранит файлы, которые создают ваши сборки, и доставляет их людям и системам, которым они нужны: агентам развёртывания, конвейерам CI/CD, тестовым машинам и разработчикам.

Arkvory бесплатен для всех, включая компании. Его исходный код открыт для чтения, но это не open source. Использовать и изменять Arkvory внутри своей организации можно. Распространять копии, продавать его или предлагать как услугу нельзя. См. лицензию.

Для кого ​

  • Инженеры CI/CD, которым нужно одно место, чтобы публиковать сборки, находить сборку по версии или стадии и скачивать её в задаче развёртывания.
  • Администраторы, которым нужен сервис хранения на одном сервере: он сам перезапускается, сам делает резервные копии и сам обновляется.
  • Игровые студии, работающие с Unity или Unreal Engine. Arkvory хранит большие бинарные ресурсы через Git LFS, пакеты Unity — через реестр npm, а результаты сборок размером в десятки гигабайт — как обычные артефакты.
  • Команды с несколькими площадками, которым нужна копия репозитория только для чтения рядом с теми, кто скачивает из неё файлы.

Что хранится ​

Всё хранится в репозиториях. Один репозиторий может одновременно содержать несколько видов содержимого:

СодержимоеКак с ним работать
Артефакты (любой файл)Загрузка через консоль, клиент командной строки, SDK или HTTP API
Пакеты UPackПакеты с версиями: группа, имя и версия SemVer. См. Пакеты.
Файлы по путиПуть вроде builds/game/1.4/Setup.exe, который хранит все прежние версии. См. Файлы и пути и Обычные файлы.
Образы контейнеровРеестр OCI для Docker, Podman, Helm и ORAS. См. Образы контейнеров.
Объекты Git LFSСервер Git LFS с блокировкой файлов. См. Git LFS.
Пакеты npm и UnityРеестр npm, который может использовать Unity Package Manager. См. Unity и npm.

Каждый сохранённый файл — это неизменяемый артефакт с контрольной суммой SHA-256. Новое содержимое никогда не заменяет старые байты, а создаёт новый артефакт. См. Основные понятия.

Основные возможности ​

  • Большие файлы. Файлы загружаются по частям, и загрузка может продолжиться после сбоя сети или перезапуска. Один объект может весить до 10 ТиБ. Скачивание поддерживает HTTP-диапазоны, поэтому тоже может продолжаться.
  • Управление доступом. Учётные записи пользователей, группы, персональные токены доступа и сервисные учётные записи с ключами. Каждый ключ получает только те действия в репозиториях, которые ему нужны.
  • Стадии и продвижение. Отметьте сборку стадией qa, release или prod либо опубликуйте её в другом репозитории без повторной загрузки. Агент развёртывания может запросить «самую новую сборку со стадией release в диапазоне ^1.4».
  • Метаданные. Метки, текстовые метаданные, коллекции и вложения: манифесты, SBOM, подписи.
  • Правила хранения. Оставляйте последние N сборок каждого пакета, задавайте квоты и удаляйте старое содержимое в фоне.
  • Резервные копии. Агент резервного копирования копирует базу данных и всё содержимое в хранилище копий на другом диске или в NAS по ежедневному расписанию, которое включает администратор, и проверяет копии.
  • Зеркала. Вторая установка может хранить копию репозитория только для чтения и отдавать её, когда основной сервер недоступен.
  • Шлюзы чтения. Дополнительные процессы скачивания на том же общем хранилище делят общий лимит скачивания.
  • Самовосстановление. Службы перезапускаются после сбоя или зависания. Долгие передачи могут продолжиться после перезапуска.
  • Обновления. Сервер проверяет подписанные стабильные релизы, которые ProAnimaStudio одобряет в своём хабе. Вы устанавливаете их вручную или автоматически в час обслуживания и можете вернуться к предыдущей версии.
  • Веб-консоль. Светлая и тёмная темы, одиннадцать языков: английский, русский, испанский, французский, немецкий, португальский, китайский, японский, корейский, хинди и арабский (справа налево). Документация доступна на тех же языках. См. Веб-консоль.

Как это работает ​

Arkvory работает на одном сервере. Каталог хранится в PostgreSQL, содержимое — в локальной папке. Вместе работают три службы:

СлужбаНазначение
APIHTTP-сервер: API, консоль и реестры. Также выполняет правила хранения и физическую очистку.
Обработчик (worker)Фоновые задания: завершение больших загрузок и синхронизация зеркал
Агент резервного копированияРезервное копирование по расписанию в хранилище копий

Установить Arkvory можно тремя способами:

ПлатформаУстановщикПодробности
Windows 10/11, Windows ServerArkvory-Setup-x64.exeМастер установки. Включает Node.js и PostgreSQL и работает без интернета. Службы работают без вошедшего пользователя. См. Windows.
LinuxArkvory-amd64.deb, Arkvory-x86_64.rpmПакеты для apt и dnf со службами systemd. См. Linux.
DockerDocker ComposeAPI, обработчик, агент резервного копирования и PostgreSQL в контейнерах. См. Docker.

По умолчанию сервер слушает только 127.0.0.1:8080. Прежде чем к нему подключатся другие машины, настройте HTTPS.

Обычная установка — это один сервер: если он остановился, клиенты ждут, пока он вернётся. В Linux кластер высокой доступности из двух или трёх серверов подменяет отказавший сервер. Используйте резервные копии и, если нужно, зеркала на второй площадке.

Что дальше ​

  1. Быстрый старт: установите Arkvory и загрузите первый файл.
  2. Основные понятия: слова, которые используются в остальной документации.
  3. Установка: требования и варианты для каждой платформы.
  4. Клиент командной строки: работа с Arkvory из скриптов и CI.
  5. Резервные копии: защитите данные, прежде чем переходить в рабочую эксплуатацию.

Arkvory · ProAnimaStudio