Структура GIT репозитория
Структурые элементы описанные здесь используются Pepeunit для различных целей: начиная с генерации архивов с программами и заканчивая созданием UnitNode.
Минимальный набор файлов
Ниже представлен минимальный набор файлов в Git репозитории, требующийся для корректного создания Repo и дальнейшей эксплуатации Unit.
~/best_unit$ tree
.
├── env_example.json
├── .git
└── ...
├── .gitignore
├── LICENSE
├── readme.md
└── schema_example.json
Рассмотрим каждый файл:
- readme.md - описание проекта, содержащее основную информацию о его назначении, установке и использовании, требования к структуре
- env_example.json - отвечает за требующиеся для Unit переменные окруженияю, требования к структуре
- schema_example.json - отвечает за схему взаимодействия Unit с Pepeunit, а также за
Input
иOutput
которые будут у Unit, требования к структуре LICENSE
- лицензия на усмотрение автора. Все репозитории Pepeunit имеют лицензиюAGPL v3
.gitignore
- перечисляет файлы и папки, которые Git должен игнорировать и не включать в контроль версий, подробнее .gitignore.
Как заполнить .gitignore
Здесь должны содержаться файлы и папки, которые Git должен проигнорировать при версионировании, обычно это следующие категории файлов:
- Окружения из библиотек как например
.venv
изpython
- Cекреты которые не должны быть опубликованы, применимо к Pepeunit - это env.json и schema.json, в других репозиториях аналогичную функцию часто выполняют
.env
файлы.
Пример минимального .gitignore файла для Pepeunit:
.idea
.nvim
env.json
schema.json
tmp
Размер репозиториев для Pepeunit
У Pepeunit достаточно строгие требования к размеру репозиториев. Это связано с тем что данные придётся хранить на стороне Pepeunit. Cтандартное ограничение 50МБ
, но Администраторы инстансов могут увеличить данный лимит установив значение BACKEND_MAX_EXTERNAL_REPO_SIZE
в Backend ENV.
DANGER
Для выполнения такого строгого требования не рекомендуется хранить в репозиториях картинки и бинарные файлы.
Для микроконтроллеров в Pepeunit есть система чистки репозитория перед генерацией архива с программой, данный алгоритм удалаяет определённые файлы и дирректории. Подробнее об этой механике можно узнать в разделе структура архивов с обновлениями