Главный конкурент GitHub для совместной работы и управления кодом — GitLab. Его создали в 2011 году. С помощью платформы можно управлять репозиториями, отслеживать ошибки и даже писать CI/CD-пайплайны. Разбираемся, чем хорош GitLab, и как с ним работать.
Что такое GitLab
GitLab — это платформа для управления проектами и репозиториями. Она работает с системой версий Git и позволяет команде работать над кодом вместе. Там можно:
- Писать код и хранить его в GitLab-репозиториях;
- Отслеживать изменения;
- Управлять проектами — создавать задачи, следить за сроками, использовать Kanban-доску и вести документацию;
- Делиться кодом и обсуждать изменения;
- Автоматизировать процессы, например, тестирование и развертывание на сервере;
- Проверять код на безопасность, находить и исправлять уязвимости, управлять доступом на уровне репозитория.
GitLab популярен у разработчиков, потому что помогает оптимизировать процесс разработки ПО и экономит время.

Преимущества GitLab
Многие разработчики любят GitLab, потому что он делает работу удобнее:
- Объединяет разные функции в одном приложении. Это упрощает управление проектами и сокращает количество инструментов.
- Доступен как в облачной версии, так и при самостоятельной установке. Это позволяет адаптировать платформу под свои нужды.
- Имеет активное сообщество пользователей, которые помогают друг другу решать проблемы и делятся опытом.
- Поддерживает практики DevOps и предлагает инструменты для автоматизации разработки и развертывания.
- Предлагает разные уровни доступа к хранилищам и отдельным ветками проекта.
- Включает инструменты для автоматизации процессов сборки, тестирования и развертывания приложений.
GitLab и GitHub: в чем отличия
GitLab часто сравнивают с GitHub — это другая популярная платформа для управления версиями кода и совместной работы над проектами. Однако у них есть различия.
Выбор между GitLab и GitHub зависит от потребностей команды и специфики проекта. У площадок похожие возможности, но GitLab предоставляет функции напрямую, а в GitHub нужна интеграция со сторонними приложениями.

Как пользоваться GitLab
Чтобы начать работу с GitLab, нужно:
- Зайти на сайт GitLab и зарегистрироваться. Для этого понадобится электронная почта, логин и пароль;
- Подтвердить аккаунт по ссылке, которая придет на электронную почту;
- Указать род деятельности, команду, имя рабочей группы/название проекта при первом входе (например, чтобы присоединиться к проектам, которые уже создали ваши коллеги).

Когда аккаунт будет готов, вы можете:
- Создать новый проект: это рабочее пространство с вашим gitlab-репозиторием. Там можно писать код, загружать файлы, делать коммиты, создавать новые ветки кода и взаимодействовать с другими участниками команды.
При создании репозитория нужно указать название проекта и уровень доступа. Файл README будет создан автоматически. Он содержит описание проекта, принципы работы, инструкцию по установке и т.д.

- Добавить SSH-ключ: его используют для безопасного доступа к репозиторию, чтобы при новом входе не вводить пароль заново. Для создания ключа введите в командной строке ssh-keygen.
Потом скопируйте открытый ключ (файл с расширением .pub) и перейдите в GitLab-репозиторий. Нажмите: Add SSH key → Add new key. Укажите название ключа в поле Title (лучше, чтобы оно совпадало с названием репозитория).
- Загрузить файлы: нажмите + и выберите New file для создания нового файла, или Upload file, чтобы загрузить документ с компьютера. После этого вы сможете работать с кодом напрямую в GitLab.
- Клонировать репозиторий GitLab на компьютер: например, чтобы работать в привычном редакторе кода. Для этого введите в терминале команду git clone и укажите путь к директории, куда нужно скопировать репозиторий.
Также для копирования можно воспользоваться интерфейсом GitLab. Нажмите Upload File выберите файлы для загрузки.
- Добавлять пользователей GitLab: чтобы пригласить новых участников, нажмите в меню: Members → Invite members. Всего есть 4 уровня доступа:
- Guest — может просматривать wiki, видеть и создавать issues;
- Reporter — может просматривать код;
- Developer — может работать с кодом, но не имеет права изменять защищенные ветки;
- Maintainer — имеет полный доступ, кроме управления проектом.

- Удалить проект: сделать это может только администратор репозитория. Выберите: Settings → General → Advanced → Expand → Delete project. После этого проект будет безвозвратно удален.
Как создать ветку в GitLab
Ветки в GitLab — это параллельные линии разработки. Они позволяют работать над новыми функциями, вносить исправления и экспериментировать, не меняя основной код. Ветки используют, чтобы:
- Упростить совместную разработку и работать одновременно над разными задачами;
- Разрабатывать новые функции без риска повредить основной код;
- Легко отслеживать изменения в проекте;
- Тестировать новые функции в отдельной ветке;
- Быстро исправлять критические ошибки.
Обычно основная ветка (main или master) содержит стабильную версию кода.
А изменения из других веток сливаются в нее после тестирования с помощью команды (merge). После этого ненужные ветки удаляют, чтобы поддерживать порядок в репозитории.
Для создания новой ветки нажмите + и выберите New branch. Она будет включать все копии проекта.

Как создавать баг-репорты
Баг-репорты — это сообщения об ошибках и проблемах в проекте. Их создают, чтобы обсудить проблему с другими пользователями или участниками команды. Обычно баг-репорты содержат:
- Описание проблемы: что именно пошло не так и на каком шаге;
- Шаги воспроизведения: полная последовательность действий, которая привела к ошибке. Это поможет разработчикам найти источник проблемы;
- Окружение: информация о среде, в которой была обнаружена ошибка, например, операционная система, версия приложения, браузер и т.д.;
- Скриншоты и логи: помогут лучше понять проблему;
- Приоритет и серьезность: насколько критична проблема, и влияет ли она на функциональность проекта.
Чтобы создать баг-репорт перейдите в раздел Issues (задачи) и нажмите New Issue. После этого заполните форму, добавьте метки и назначьте ответственного.
Главное о платформе Gitlab
- GitLab — это платформа для командной работы и управления проектами. Там можно писать код, отслеживать изменения, автоматизировать тестирование и развертывание ПО;
- У GitLab и GitHub похожие функции. Но GitLab предоставляет их без сторонних сервисов, а еще дает возможность использовать собственный сервер.
- GitLab-репозиторий можно клонировать на компьютер, чтобы работать с кодом в привычном редакторе кода или IDE;
- Можно добавить к проекту SSH-ключи, чтобы каждый раз не вводить пароль заново;
- Можно создавать новые ветки для исправления ошибок и экспериментов с кодом;
- При возникновении багов нужно составить баг-репорт и сообщить о проблеме команде.