Appearance
GitLab
Назначение
GitLab в организации используется как центральная платформа для управления исходным кодом, взаимодействия команд а так же хранения общих зависимостей (в т.ч. npm-пакетов). Система объединяет проекты из разных направлений: frontend и backend
Структура проектов
Все репозитории сгруппированы по namespace в соответствии с направлением разработки. Это обеспечивает логичную навигацию и разграничение доступа:
Основные namespaces:
frontend/common/utils— вспомогательные утилиты и общие зависимости Nuxt-приложенийnuxt-shared- модуль с общими утилитами для фронтендов на Nuxt 3
frontend/common/layers— переиспользуемые layout/слоиlayer-common- слой с общими компонентами для фронтендов на Nuxt 3
frontend— фронтенды приложенийnuxt-admin-dashboard- админ-панельnuxt-base- основной сайт компании (интернет-магазин)nuxt-partners- кабинет партнёровnuxt-users- кабинет пользователей
backend— серверная частьfastapi-backend- серверное API на FastAPIoctopus1c- сервер 1С
shared-packages— NPM-репозиторий с общими npm-пакетами для переиспользования между фронтендами
Каждая группа включает в себя только те проекты, которые относятся к соответствующей функциональности, что упрощает навигацию и контроль доступа
Управление пользователями и доступами
Роли
Для каждого проекта используется гибкая система ролей:
| Роль | Возможности |
|---|---|
| Guest | Чтение публичной информации |
| Reporter | Доступ к коду и пайплайнам, без коммитов |
| Developer | Работа с кодом, ветками, CI/CD |
| Maintainer | Полный доступ к проекту, настройкам, пайплайну |
| Owner | Только в пределах личных namespace или root |
Принципы
- Управление доступами централизовано через суперадмина
- Доступ к проектам ограничен строго необходимыми ролями
- Все внешние участники подключаются как
ReporterилиDeveloper, без права администрирования