Что такое GitLab? Настройка и использование GitLab
Мы с вами уже говорили про Git и GitHub. В этой статье расскажем о том, что такое GitLab, как им пользоваться, какая настройка потребуется.
GitLab — это онлайн-сервис, предназначенный для работы с git-репозиториями. Его можно использовать непосредственно на официальном сайте (gitlab.com), зарегистрировав аккаунт, или установить и развернуть на своём сервере.
Возможности GitLab
GitLab — это отличный инструмент для разработчиков, который предоставляет следующие возможности: — управление публичными и приватными git-репозиториями; — управление пользователями и группами, правами доступа к git-репозиториям; — отслеживание ошибок, деплой, анализ кода; — интеграция с разными CI-системами CI (Jenkins и т. п.), организация самостоятельного процесса CI посредством встроенных средств.
Есть и другие возможности (функционал api, wiki страниц, доски задач и идей, отслеживание изменений, комментарии к проектам и прочие). Подробнее можно узнать из официальной документации.
GitLab и GitHub
Как известно, главный конкурент GitLab — это сервис GitHub. Появился он на три года раньше (в 2008), поэтому более популярен. Да что там говорить, GitHub сегодня — это сайт номер один по размещению open source-проектов. Они почти все на нём и размещаются.))) И у многих людей Git напрямую ассоциируется с сервисом GitHub.
Да, плюсов у GitHub много, но мы не будем сейчас сравнивать оба сервиса. Скажем только, что несмотря на повышенную популярность и огромнейшее комьюнити GitHub (26 млн. человек), наблюдается тенденция перехода крупных команд разработчиков на GitLab. Это происходит благодаря расширенным возможностям второго.
Как использовать GitLab? Настройка сервиса
1. Создание аккаунта
Для начала, зарегистрируемся на сайте GitLab. Для этого нужно перейти на вкладку Register, которая находится в правой части экрана. Появится форма, где нужно будет ввести имя, логин, электронную почту.
Далее вы получите на почту сообщение, где будет находиться ссылка для подтверждения аккаунта. После перехода по ней появится форма авторизации.
Путём ввода пароля и логина вы окажетесь на главной странице вашего профиля на GitLab. Сначала это будет страница приветствия, но позже здесь появится перечень ваших Git-репозиториев.
2. Создание репозитория
Для добавления проекта GitLab потребуется кликнуть по значку
Теперь вводим имя и описание репозитория, выбираем уровень доступа. Их существует три: — Private. Доступен только для вас; — Internal. К репозиторию смогут получить доступ все зарегистрированные пользователи; — Public. Свободный доступ для всех.
Также можно инициализировать репозиторий файлом README, поставив соответствующую галочку. Однако, если планируете залить файлы из уже существующего Git-репозитория, то не стоит этого делать.
Чтобы попасть на страницу репозитория, нажмите кнопку «Create repo». GitLab предложит первоначальный набор действий с целью проинициализировать ваш репозиторий. В итоге вы сможете создать файлы здесь либо загрузить их из своего ПК.
3. Загрузка файлов проекта
Теперь перейдём к созданию нового локального репозитория на ПК и загрузим содержимое на GitLab. Сначала создадим папку репозитория, назвав её, к примеру, test-repo. Теперь проинициализириуем в ней новый репозиторий, используя команду git:
mkdir test-repo && cd test-repo git init
Теперь создаём файл test.txt:
vi test.txt This is test losst repo
И фиксируем изменения:
git add test.txt git commit -m "Inital commit"
Сейчас давайте добавим наш удалённый репозиторий с GitLab к нашему локальному, выполнив следующую команду:
git remote add origin https://gitlab.com/losst/test-repo.git
Потом отправим изменения в удалённый репозиторий:
git push origin master
Чтобы отправить данные, введём пароль и логин на GitLab. После обновления страницы на GitLab, увидим наш файл:
Кстати, если удалённый репозиторий пустым не является, так сделать не получится. Потребуется сначала его скачать, слить с ним локальные изменения, а только потом отправить всё назад.
4. SSH-ключи
При загрузке данных на GitLab требовалось ввести пароль и логин на сервере. Но есть и другой путь — SSH-ключи для авторизации. Для создания ключа выполните:
ssh-keygen
Потом вводим путь к файлу сохранения ключ и оставляем пароль пустым. В результате создаются 2 файла — закрытый ключ и открытый с расширением .pub. Нас интересует открытый, поэтому мы открываем его в текстовом редакторе и копируем содержимое в буфер обмена:
vi /home/sergiy/.ssh/id-gitlab
Потом возвращаемся GitLab-интерфейсу, кликаем по иконке профиля и выбираем настройки Settings:
Потом ищем на левой панели пункт SSH Keys. Далее находим Key и вставляем в соответствующее поле скопированный ключ. Всё, осталось лишь сохранить изменения.
Теперь возвращаемся в репозиторий, находим кнопку Clone (правый верхний угол) и кликаем по ней. Интересует адрес Clone with SSH:
Возвращаемся в локальный репозиторий, удаляем https, добавляем ssh:
git remote remove origin git remote add origin [email protected]:losst/test-repo.git
На этом настройка ssh в GitLab закончена. С этого момента все действия выполняются по SSH, поэтому вводить логин и пароль не потребуется.
5. Ветки репозитория
Давайте посмотрим, как использовать GitLab при работе с ветками. По умолчанию репозиторий имеет лишь master-ветку. Однако разработку можно выносить и в отдельные ветки, что позволит реализовать дополнительные функции.
Ветки в GitLab-интерфейсе отображаются слева:
Для создания новой, кликаем по значку
Если ветку по умолчанию нужно изменить, открываем настройки репозитория (Settings -> Repository), где выбираем нужную ветку в разделе Default branch:
5. Слияние веток
Иногда возникает необходимость выполнить слияние веток. Для этого используют Merge request gitlab — запросы слияния. Продемонстрируем это на ветке new-feature, где создадим файл new-feature с текстом:
git checkout -b new-feature vi new-feature.txt New feature with change git add new-feature.txt git commit -m "add feature" git push --set-upstream origin new-feature
Если мы после этого перейдём в новую ветвь с помощью интерфейса GitLab, мы увидим появившуюся кнопку Create merge request. Естественно, нажимаем:
Тут пишем описание Merge Request, выбираем ветку-цель и ветку-источник. Кроме того, можно выбрать пользователя, который получит уведомление о созданном запросе.
Теперь запрос на слияние следует одобрить. Посмотреть изменения можно через терминал или, нажав кнопку Open IDE. Чтобы слить ветки, осталось нажать кнопку Merge.
7. Добавление пользователей
В GitLab можно работать с командой, добавляя неограниченное число разработчиков.
Настройка проста: — открываем Settings ->Members; — в поле Select members to invite вводим никнеймы либо адреса электронной почты тех, кого приглашаем; — в поле Choose a role permission выбираем уровень их доступа; — нажимаем Add to project.
8. Удаление проекта
Настройки для удаления проекта с Gitlab: — открываем Settings -> General -> Advanced; — выбираем и нажимаем Remove Project внизу страницы; — вводим имя проекта, который нужно удалить.
Послесловие
В нашей статье мы вкратце разобрали, как пользоваться GitLab при разработке софта. Однако это далеко не все возможности, которые предоставляет данный сервис. И совершенно неслучайно GitLab сегодня называют полноценной альтернативой GitHub. Впрочем, что выбирать, GitHub или GitLab, — решать вам.
При подготовке статьи использовались материалы из следующих источников: https://losst.ru/kak-polzovatsya-gitlab; https://serveradmin.ru/ustanovka-i-nastroyka-gitlab/?pdf=7240.