GitLab — это инструмент, который позволяет хранить и управлять репозиториями (место, где хранятся и поддерживаются данные) Git. С его помощью очень удобно заниматься совместной разработкой проектов. В статье расскажем, как работает инструмент и зачем его используют.
Git, GitHub и GitLab
Всем, кто занимается разработкой, знакомы слова Git, Github и GitLab. Несмотря на видимое сходство, это разные вещи и прежде, чем перейти конкретно к GitLab, разберём, в чём их отличие.
Git — это система контроля версий, которая применяется для отслеживания изменений в файлах компьютера. Его основная задача — управлять любыми изменениями, внесенными в один или несколько проектов за определенный период времени. Git помогает координировать работу участников проектной группы и отслеживать прогресс во времени и позволяет им работать совместно, не влияя друг на друга. Также система даёт возможность локально сохранить проект в файл небольшого размера.
GitHub и GitLab — это онлайн-сервисы, которые служат для размещения репозиториев, дистанционного управления и прочих задач, связанных с разработкой. В них есть функционал отслеживания ошибок, Wiki для всех проектов, история изменений и многое другое.
Сервисы имеют схожее назначение, поэтому и функции у них примерно одинаковы. Однако, есть и отличия.
-
.
- В GitLab предусмотрена бесплатная непрерывная интеграция. В GitHub вместо этого есть инструмент Actions, который позволяет запускать подобные интеграции в общедоступных репозиториях без оплаты, в частных – платно.
- GitLab, в отличие от GitHub имеет встроенную платформу развёртывания Kubernetes.
- В GitLab доступны бесплатные репозитории для проектов с общедоступным исходным кодом. В GitHub такого не предусмотрено.
Что такое GitLab
Как говорилось выше, GitLab является сервисом для совместной разработки. Он помогает командам разработчиков сократить жизненный цикл продукта и повысить производительность. Здесь не требуется авторизация для каждого отдельного инструмента. Разрешения устанавливаются один раз, и все в организации имеют доступ к каждому компоненту.
Изначально GitLab был полностью бесплатным программным обеспечением с открытым исходным кодом, который распространялся по лицензии MIT. В 2013 году его разбили на две отдельные версии — GitLab CE (Community Edition) и GitLab EE (Enterprise Edition). GitLab CE осталась прежней, а GitLab EE поучил ограниченную лицензию, хотя исходный код так и остался общедоступным.
GitLab даёт нижеописанные возможности:
- Создание. Написание кода, управление им и внесение правок, синхронизация файлов.
- Проверка. Включены инструменты CI/CD, доступна интеграция с Github, есть проверка качества написания кода, нагрузочные тесты.
- Управление. Для доступа к проекту нужно пройти двухфакторную аутентификацию. Также доступна поддержка токенов и SSO. Сервис осуществляет аналитику продуктивности участников, предоставляет трекинг задач.
- Мониторинг. Отслеживание производительности приложений, управление инцидентами, отправка логов.
- Планирование. Отслеживание проблем и контроль затраченного времени.
- Упаковка. Управление контейнерами и репозиториями. Работа Gitlab с Docker.
- Безопасность. Сканирование уязвимостей, поддержка SAST и DAST.
- Релизы. Есть возможность запускать CI/CD в разных окружениях, доступны канареечные релизы (безопасное тестирование кода или частичный выпуск), оркестровка релизов.
- Конфигурирование. Поддержка Kubernetes, бессерверные вычисления.
- Защита. Обеспечение сетевой безопасности проектов.
Зачем использовать GitLab
Основное преимущество использования GitLab в том, что он позволяет всем членам команды взаимодействовать на каждом этапе проекта. Отслеживание процесса от планирования до создания позволяет разработчикам автоматизировать весь жизненный цикл проекта и добиться наилучших результатов.