От CI к End-to-End платформе
Проект Harness Open Source (репозиторий harness/harness) представляет собой значительный шаг в развитии экосистемы DevOps. В отличие от своего предшественника — Drone, который фокусировался исключительно на непрерывной интеграции (CI), новая платформа предлагает полный цикл разработки. Ключевые компоненты включают:
- Хостинг кода (на базе Gitness).
- Автоматизированные пайплайны (наследие Drone).
- Hosted Development Environments (Gitspaces) — облачные среды разработки.
- Artifact Registries — реестры артефактов.
Разработчики заявляют, что цель проекта — достичь полной функциональной совместимости с Drone, чтобы обеспечить бесшовную миграцию пользователей. В то время как разработка Harness ведется в ветке main, развитие Drone продолжается в отдельной ветке drone.
Технические детали и стек
Платформа построена на стеке Go (требуется версия 1.20+) и Node.js. Для локальной разработки и тестирования не требуются сложные оркестраторы, но для запуска пайплайнов необходим доступ к Docker Daemon. Приложение автоматически согласовывает версию Docker API, что обеспечивает совместимость с различными средами.
Сравнение сред выполнения Docker
Особое внимание уделено конфигурации Docker-сокетов для разных операционных сред. Ниже приведена таблица соответствия сред и путей к сокетам:
| Среда выполнения | Путь к Docker-сокету | Рекомендуемая настройка |
|---|---|---|
| Docker Desktop | /var/run/docker.sock |
Работает из коробки (по умолчанию) |
| Rancher Desktop | ~/.rd/docker.sock |
Создать симлинк или задать переменную GITNESS_DOCKER_HOST |
| Colima | ~/.colima/default/docker.sock |
Создать симлинк или задать переменную GITNESS_DOCKER_HOST |
| Linux (Native) | /var/run/docker.sock |
Работает из коробки (по умолчанию) |
Быстрый старт и доступность
Запуск платформы осуществляется через Docker-контейнер. После инициализации интерфейс доступен по адресу http://localhost:3000. Для разработчиков предусмотрен Swagger-интерфейс API по адресу /swagger и базовые CLI-инструменты для генерации токенов (PAT) и управления пользователями.
Проект распространяется под лицензией Apache License 2.0, что делает его привлекательным выбором для компаний, ищущих открытую альтернативу проприетарным DevOps-решениям.
Источник: Github ↗
