309 слов | 2 минуты

Настройка GitLab: группы, пользователи, проекты

Руководство по базовому администрированию GitLab: структура групп, управление доступом и работа с репозиториями.

Группы

Группы создаются под пользователем root, чтобы не привязываться к конкретному аккаунту.

Группа — коллекция репозиториев с общими правами доступа. Структура URL:

  • http://gitlab.example.com/username/repository — личная группа пользователя
  • http://gitlab.example.com/group/repository — глобальная группа

Уровни видимости группы:

Уровень Описание
Private Доступ только у явно добавленных пользователей
Internal Виден любому авторизованному пользователю GitLab
Public Виден всем, включая незарегистрированных

Рекомендуемая структура групп: Prod (боевые сайты), Test (тестовые), Temp (песочница).

Участники группы

Выберите группу и добавьте участника с нужной ролью:

Роли в группе:

Роль Права
Guest Просмотр wiki, создание issues
Reporter + просмотр кода
Developer Полноценная разработка (кроме защищённых веток)
Maintainer Все действия, кроме управления проектом
Owner Полный контроль над группой и проектами

Добавление пользователей

Пользователи добавляются администратором или root.

Укажите имя, логин и email — на почту придёт приглашение для установки пароля.

Уровни доступа:

  • Regular — доступ только к своим группам и проектам.
  • Administrator — неограниченный доступ ко всему.

Внешние пользователи — ограниченный доступ: не могут создавать группы/проекты, видят только публичные или явно назначенные репозитории.

Добавление проекта (репозитория)

Укажите имя проекта и выберите группу. URL будет сформирован автоматически: http://gitlab.example.com/prod/mysite

При необходимости пригласите конкретного пользователя и назначьте ему роль.

Первая загрузка файлов в репозиторий

Способ 1: веб-интерфейс

Нажмите Upload File и загрузите файлы через браузер. Подходит только для небольших проектов.

Способ 2: командная строка

Выполняйте под пользователем с ролью Maintainer или выше (требуется доступ к ветке main).

Настройте глобальные данные Git:

git config --global user.name "Your Name"
git config --global user.email "you@example.com"

Загрузить существующую папку:

cd project_folder
git init --initial-branch=main
git remote add origin https://gitlab.example.com/group/project.git
git add .
git commit -m "Initial commit"
git push --set-upstream origin main

Загрузить существующий репозиторий со всеми коммитами:

cd existing_repo
git remote rename origin old-origin
git remote add origin https://gitlab.example.com/group/project.git
git push --set-upstream origin --all
git push --set-upstream origin --tags

Способ 3: git-клиент

Подходят TortoiseGit, Tower, Sublime Merge, GitFox и другие GUI-клиенты.

SSH-ключи

Добавление SSH-ключа избавляет от необходимости вводить пароль при каждом push/pull.

  1. Сгенерируйте ключ:

    ssh-keygen -t rsa -b 2048 -C "your-comment"
    
  2. Выводимый путь оставьте по умолчанию (~/.ssh/id_rsa), пароль — по желанию.

  3. Скопируйте публичный ключ:

    cat ~/.ssh/id_rsa.pub
    
  4. Добавьте его в GitLab: аватар → Settings → SSH Keys → Add key.

После этого при клонировании выбирайте вкладку SSH вместо HTTPS.