Визуализация и анализ данных вашего git-репозитория (демо).
В этом репозитории находится модуль для автоматического сбора и обьединения логов для списка репозиториев.
- Ожидание триггера запуска (таймер, запрос, событие);
- Обход списка репозиториев;
- Получение лог файла для каждого репозитория;
- Обьединение логов в общие файлы;
- См. пункт 1;
В ходе работы скрипт загружает репозиторий для его обработки. Репозиторий может иметь большой вес.
- Мы можем хранить эти репозитории между вызовами. Тогда мы будем расходывать много дискового пространства, но увеличим скорость обхода списка задач. Так же снизим сетевые расходы для получения изменений в репозитории.
- Мы можем удалять репозиторий сразу после получения лога. Тогда мы снизим необходимый обьем жеского диска, но должны будем заново скачать весь репозиторий. Это увеличит время обработки списка и обьем сетевого трафика.
Настройки могут быть получены сразу из нескольких источников. Приоритет выбора окончательного значения:
- Из внешнего источника;
- Из переменной окружения;
- Из локального файла;
свойство | тип значения | значение по умолчание | описание |
---|---|---|---|
loadConfigFromUrl | JSON | Нужно запросить настройки из внешнего источника? | |
loadConfigFromUrl.url | string | URL-адрес запроса. | |
loadConfigFromUrl.method | string | Метод запроса. | |
loadConfigFromUrl.headers | JSON | Заголовки запроса в виде json объекта. | |
loadConfigFromUrl.body | any | Тело запроса. | |
loadTasksFromUrl | JSON | Нужно запросить список задач из внешнего источника? | |
loadTasksFromUrl.url | string | URL-адрес запроса. | |
loadTasksFromUrl.method | string | Метод запроса. | |
loadTasksFromUrl.headers | JSON | Заголовки запроса в виде json объекта. | |
loadTasksFromUrl.body | any | Тело запроса. | |
output.folder | string | "logs" | Папка, в которую будут складываться логи репозиториев после обработки. |
output.needCreateAfterInit | boleean | true | Нужно создать эту папку в момент инициализации приложения. |
input.folder | string | "repositories" | Папка, в которую будут загружаться репизитории указанные в списке задач. |
input.needCreateAfterInit | boleean | true | Нужно создать эту папку в момент инициализации приложения. |
input.needClearAfterUse | boleean | false | Нужно очищать эту папку каждый раз после завершения сбора логов. |
свойство | тип значения | значение по умолчание | описание |
---|---|---|---|
PORT | number | 3007 | Порт запуска приложения. |
LOAD_CONFIG_URL | string | URL-адрес для запроса для настроек приложения. | |
LOAD_CONFIG_METHOD | string | Метод запроса. | |
LOAD_CONFIG_HEADERS | JSON like string | Заголовки запроса в виде json объекта. | |
LOAD_CONFIG_BODY | any | Тело запроса. | |
LOAD_TASKS_URL | string | URL-адрес для запроса списка задач. | |
LOAD_TASKS_METHOD | string | Метод запроса. | |
LOAD_TASKS_HEADERS | JSON like string | Заголовки запроса в виде json объекта. | |
LOAD_TASKS_BODY | any | Тело запроса. | |
OUTPUT_FOLDER | string | "logs" | Папка, в которую будут складываться логи репозиториев после обработки. |
OUTPUT_NEED_CREATE_AFTER_INIT | boleean | true | Нужно создать эту папку в момент инициализации приложения. |
INPUT_FOLDER | string | "repositories" | Папка, в которую будут загружаться репизитории указанные в списке задач. |
INPUT_NEED_CREATE_AFTER_INIT | boleean | true | Нужно создать эту папку в момент инициализации приложения. |
INPUT_NEED_CLEAR_AFTER_USE | boleean | false | Нужно очищать эту папку каждый раз после завершения сбора логов. |
Список задач может быть получен сразу из нескольких источников. Приоритет выбора окончательного значения:
- Из внешнего источника;
- Из локального файла;
Свойство | Тип значения | Обязательный | описание |
---|---|---|---|
code | string | да | Уникальный индентификатор. Используется в качестве названия итогового файла. |
folder | string | нет | Дочерняя папка, в которую нужно поместить итоговый файл. По умолчанию файл помещается в папку указанную в общих настройках (output.folder) |
repositories[] | object[] | да | Список репозиториев для обработки. |
repositories[].url | string | да | URL-адрес для загрузки репозитория. |
repositories[].folder | string | нет | Дочерняя папка, в которую нужно поместить репозиторий. |
repositories[].needClearAfterUse | boleean | нет | Нужно очищать эту папку каждый раз после завершения сбора логов. |
- telegramm @bakhirev (приоритетный способ связи)
- alexey-bakhirev@yandex.ru
- сайт https://assayo.online/