Git-репозитории¶
Кодовые модели хранятся во внешнем git-репозитории. Этот раздел описывает, как организовать репозиторий и сформировать ссылку на него, которую технический администратор указывает в аккаунте AW BI.
Подробное описание действий технического администратора при подключении репозитория приведено в руководстве пользователя.
Создание репозитория¶
Репозиторий создаётся на любом git-сервере:
- во внутренней инфраструктуре компании — например, собственный GitLab или Gitea;
- в облачном сервисе — GitHub, GitLab.com, GitVerse и др.
Рекомендуемая структура репозитория — одна папка = одна модель:
model.py, model.yml и файл тестов. Папки с моделями могут быть вложены в подпапки.
Внутри папки модели не должно быть подпапок
AW распознаёт модель по папке, в которой лежат оба файла — model.py
и model.yml — и нет вложенных подпапок. Если внутри папки модели завести обычную
подпапку (например, utils/), модель перестанет загружаться, а ранее загруженная
удалится при следующем обновлении репозитория — и всё это без сообщения об ошибке.
Служебные папки вроде __pycache__ или .venv на распознавание не влияют.
Остальные правила структуры — в разделе
«Из чего состоит кодовая модель».
code-models/
├── model_shop/
│ ├── model.py
│ ├── model.yml
│ └── test_model_shop.py
├── model_finance/
│ ├── model.py
│ └── model.yml
└── README.md
Пример такого репозитория разбирается в разделе примеров.
Ветки и production-ветка¶
Разработка модели ведётся по обычному git-workflow:
- Работа над моделью ведётся в feature-ветке (
feature/orders-modelи т.п.). - Код проверяется локальными тестами.
- Ветка мержится в production-ветку — по умолчанию
master— через pull/merge request с code review.
AW отслеживает конкретную ветку репозитория. Изменения, смерженные в неё, подхватываются автоматически; при необходимости можно зайти в кодовую модель в аккаунте и нажать «Обновить структуру».
При подключении репозитория ветка указывается в конце ссылки через @ (см. ниже) —
обычно это и есть production-ветка master.
Не мержите недописанные модели
Всё, что попало в production-ветку, становится доступно пользователям AW. Публикуйте только проверенные тестами модели.
Ссылка на репозиторий¶
Технический администратор указывает в аккаунте AW ссылку на репозиторий в формате:
Пример:
| Часть ссылки | Описание |
|---|---|
<user>:<token> |
Имя пользователя и токен доступа (для приватных репозиториев). Для публичных репозиториев часть user:token@ не нужна |
<host>/<путь>/<repo>.git |
HTTPS-адрес репозитория из его настроек |
@<ветка> |
Ветка, за которой следит AW (production-ветка) |
Токен создаётся в настройках аккаунта на git-сервере — точные шаги для каждого сервиса смотрите в разделе ниже.
Формирование ссылки для публичного и приватного репозитория GitHub описано в разделе Настройка git-репозиториев → GitHub. Формат для кодовых моделей такой же, пример:
Формирование ссылки для GitLab описано в разделе Настройка git-репозиториев → GitLab. Формат для кодовых моделей:
Формирование ссылки для Gitea описано в разделе Настройка git-репозиториев → Gitea. Формат для кодовых моделей:
Формирование ссылки для GitVerse описано в разделе Настройка git-репозиториев → GitVerse. Формат для кодовых моделей:
Безопасность токена
Токен — полноценный пароль от репозитория: не публикуйте ссылку с токеном в общем доступе и не коммитьте её в сам репозиторий. Если токен скомпрометирован, перевыпустите его в настройках git-сервера.
Публичный или приватный репозиторий¶
- Публичный репозиторий проще подключить — токен не нужен, достаточно HTTPS-адреса с веткой.
- Приватный репозиторий предпочтителен для рабочих моделей: код доступен только пользователям с токеном, а токен можно отозвать в любой момент.