Skip to content

Latest commit

 

History

History
60 lines (42 loc) · 5.62 KB

File metadata and controls

60 lines (42 loc) · 5.62 KB

Git-Sync Service

Общее описание

Git-Sync Service обеспечивает синхронизацию удаленного репозитория с локальным. Любые изменения в локальном репозитории вызывают синхронизацию с удаленным репозиторием. Необходимость синхронизации проверяется путем сравнения хешей файлов (что позволяет определить, изменился ли файл) и путем сравнения деревьев файлов удаленного и локального репозиториев. Сервис предоставляет доступ к своим метрикам с использованием Prometheus и поддерживает вебхуки для ручной синхронизации.

Возможности сервиса

  • Синхронизация удаленного репозитория с локальным.
  • Проверка необходимости синхронизации на основе сравнения хешей файлов и деревьев файлов удаленного и локального репозиториев.
  • Обработка вебхуков для ручной синхронизации.
  • Доступ к метрикам через Prometheus.

Конфигурация и параметры

Параметры запуска сервиса могут быть заданы в командной строке, переменных окружения и конфигурационном файле.

Параметры командной строки и переменные окружения

Каждая переменная окружения привязана к соответствующему параметру (флагу) командной строки.

Параметры командной строки / переменные окружения:

Аргумент командной строки (флаг) Переменная окружения Описание
--local-path GITSYNC_LOCAL_PATH Путь к локальному репозиторию.
--repo-url GITSYNC_REPOSITORY_URL URL удаленного репозитория.
--repo-branch GITSYNC_REPOSITORY_BRANCH Ветка удаленного репозитория.
--repo-auth-user GITSYNC_REPOSITORY_USER Пользователь для аутентификации в репозитории.
--repo-auth-token GITSYNC_REPOSITORY_TOKEN Токен для аутентификации в репозитории.
--sync-interval GITSYNC_INTERVAL Интервал синхронизации репозитория.
--http-server-addr GITSYNC_HTTP_SERVER_ADDR Адрес и порт HTTP сервера.
--http-server-auth-username GITSYNC_HTTP_SERVER_AUTH_USERNAME Имя пользователя для аутентификации HTTP сервера.
--http-server-auth-password GITSYNC_HTTP_SERVER_AUTH_PASSWORD Пароль для аутентификации HTTP сервера.
--http-server-auth-token GITSYNC_HTTP_SERVER_AUTH_TOKEN Токен для аутентификации HTTP сервера.

Метрики Prometheus

Сервис предоставляет следующие метрики:

Наименование Описание
git_sync_sync_count Общее количество синхронизаций с изменениями.
git_sync_sync_total_count Общее количество синхронизаций.
git_sync_sync_total_error_count Общее количество ошибок синхронизации.
git_sync_repo_info Информация о синхронизированном репозитории с метками имени репозитория и ветки.
git_sync_commit_info Информация о последнем коммите с метками хеш коммита, имя автора, электронная почта автора, дата коммита, сообщение коммита

Примеры использования

Конфигурационные файлы приложений: Обеспечение единого источника правды для конфигурационных файлов приложений, которые часто меняются и нуждаются в синхронизации между различными инстансами.

Скрипты развертывания: Автоматическое обновление и синхронизация скриптов развертывания между различными серверами или средами, чтобы гарантировать, что все сервера используют одну и ту же версию скриптов.

Конфигурационные файлы серверов: Синхронизация конфигурационных файлов серверов, таких как конфигурационные файлы веб-серверов или баз данных, чтобы убедиться, что все сервера настроены одинаково и правильно.

Документация и инструкции: Синхронизация документации и инструкций для разработчиков, чтобы они всегда имели доступ к самой актуальной информации.