GitLab для начинающих

Рассказываем про сервис GitLab: для чего он нужен, как им пользоваться, какие команды у него есть и как быстро создать свой проект. И, конечно же, подробно сравниваем с главным конкурентом — GitHub.

Что такое GitLab и зачем он нужен

GitLab — сервис для хранения и управления Git-репозиториями. Как и его более известный конкурент, GitHub, он значительно облегчает коллективный труд разработчиков, позволяя им писать и редактировать код, а также его тестировать и развертывать без лишних проблем.

Работать с GitLab можно по-разному: как через командную строку, Web IDE (встроенный IDE для работы в браузере), так и через сторонние Git-клиенты. Скажем сразу, правильного способа нет: каждый работает, как ему удобно, в зависимости от задач и доступных устройств.

GitLab vs GitHub

Существенных различий между GitLab и GitHub на самом деле практически нет. Разве что:

GitLab — проект с открытым исходным кодом, поэтому сообщество может улучшать платформу. На GitHub эта возможность доступна только разработчикам.

С 2018 года владельцем GitHub является компания Microsoft, что, учитывая репутацию этого гиганта, было воспринято сообществом неоднозначно. Тем не менее популярность GitHub выше, чем у GitLab: у платформы не было конкурентов с 2008 года. О GitLab тогда еще мало кто знал — он появился только в 2011 году, а активно развиваться начал далеко не сразу.

Что выбрать начинающему разработчику?

Оба сервиса хорошо справляются с большинством задач разработки, однако:

GitLab лучше приспособлен для хранения приватного контента, так как это опенсорсный проект, позволяющий поднять собственный сервер. Поэтому он подойдет командам разработчиков и компаниям с ограниченным бюджетом, которые не хотят открывать свой код общественности. Также GitLab удобен для создания частного репозитория, в котором независимый разработчик может хранить свой контент.

GitHub идеален для тех программистов, которые хотят делиться своим кодом с сообществом при работе над различными опенсорсными проектами. Также GitHub выбирают те, кто желает собрать авторитетное портфолио, так как он поощряет персональные странички (есть даже соответствующие ачивки).

А вот для веб-разработки подойдут оба проекта: для этих целей у обоих есть свои Pages.

Ключевые особенности GitLab

Совместимость. Гитлаб поддерживает интеграцию с популярными платформами и сервисами — Docker, Kubernetes, Jira, сервисы от Google, а также имеет инструментарий для совмещения практически с любыми приложениями. Это означает, что GitLab может быть легко интегрирован и в корпоративную среду.

Метки и документация. Удобная система меток, которая значительно упрощает процесс разработки, позволяя классифицировать ошибки или запросы. Также с ее помощью можно отслеживать изменения, выполняемые по своим или чужим проектам. Система документации на Гитлабе выстроена так, что каждый проект документируется в отдельном репозитории.

Гибкие настройки доступа. Доступ к репозиториям настраивается в соответствии с группой, в которой находится пользователь. Закрытые ветки создаются с использованием встроенного модуля, который позволяет настраивать права для каждого пользователя. И благодаря собственной системе защиты от киберугроз GitLab предлагает безопасную аутентификацию.

Удобный импорт и экспорт данных. Сервис позволяет легко импортировать большие объемы данных из разных источников. Это обеспечивается за счет интеграции с популярными решениями, например, Jira. Также пользователям доступны инструменты для синхронизации кода.

Kubernetes по умолчанию для развертывания. Удобное решение для тех, кто занимается разработкой и тестированием приложений, поскольку Kubernetes — самый популярный оркестратор в среде контейнеризации.

Выделенное пространство в облаке. GitLab предлагает всем пользователям бесплатное размещение проектов в облаке. Кроме того, в GitLab можно бесплатно создавать частные репозитории для хранения открытого кода.

Инструменты аналитики и планирования. Аналитические инструменты Гитлаба позволяют отслеживать время, затраченное на каждую задачу, планировать дальнейшую работу, отслеживать активность каждого разработчика. А инструмент Burndown Chart понравится тем, кто использует в разработке метод спринтов.

Регулярные обновления. Гитлаб обновляется каждый месяц, причем значительное внимание уделяется удобству и безопасности работы.

GitLab Runner

GitLab Runner — полезный веб-инструмент для выполнения инструкций файлов репозиториев. Устанавливать GitLab Runner необходимо тем, кто собирается выполнять настройку CI/CD собственного проекта. Но в первую очередь нужно установить Docker — платформу контейнеризации, с помощью которой выполняется создание образов и развертывание контейнеров.

GitLab CI/CD

CI/CD — технология непрерывной интеграции и доставки. CI/CD помогает автоматизировать и масштабировать проекты, что значительно сокращает время разработки. GitLab CI/CD — инструмент, который позволяет превратить Гитлаб в полноценную платформу для DevOps со всеми необходимыми функциями.

GitLab CI/CD обеспечивает управление конфигурациями через yaml-файлы, стабильный запуск в различных средах, сборку и выполнение в разных операционных системах. Кроме того, с помощью этого инструмента можно выполнять интеграцию с кластерами Kubernetes и работать с задачами в окружениях Docker.

Дальше мы предсказуемо сравним GitLab CI/CD со схожим по функциям инструментом Гитхаба — GitHub Actions.

GitLab CI/CD vs GitHub Actions

Чтобы при переходе с GitHub Actions на GitLab CI/CD у новичка не возникло трудностей, рассмотрим основные различия между этими инструментами.

В CI/CD скрипты в заданиях выполняются с помощью ключа script, а в Actions для этого используется ключ run.

Задания на разных платформах в CI/CD выполняются с помощью ключа tags, а в Actions — с помощью runs-on.

Оба инструмента могут работать с заданиями в образах Docker, а также указывать дополнительные контейнеры, для чего в CI/CD используется ключ image, а Actions — container.

При выполнении заданий с условиями CI/CD использует ключ rules, а Actions — if.

Для выполнения заданий с зависимостями в CI/CD есть ключ stages, а в Actions используется needs.

Посмотреть примеры кода для каждого сервиса, а также узнать о некоторых менее существенных расхождениях можно в официальной документации GitHub по этой теме. И, хотя инструкция называется «Миграция с GitLab CI/CD на GitHub Actions», она подойдет и при переходе с Actions на CI/CD.

Немного практики: первый проект на GitLab

Чтобы создать проект на GitLab, нужно выполнить несколько несложных шагов:

Создать учетную запись и рабочую группу

Создать репозиторий

Загрузить файлы

Добавить ключи авторизации.

Теперь о каждом из этих шагов подробнее.

Создание учетной записи и рабочей группы на GitLab

После нажатия на кнопку Login на сайте проекта появится кнопка регистрации. Кликнув на нее, вы перейдете в форму, где нужно будет заполнить ряд стандартных полей, а затем подтвердить регистрацию из письма, которое сервис отправит на указанный email.

После успешного создания учетной записи приступаем к настройке GitLab. Для этого переходим в свой профиль и заполняем нужные поля, включая имя группы. Также вас попросят указать, будете ли вы работать в одиночку или в составе команды.

Создание репозитория в GitLab

После создания группы в верхней панели появится иконка с плюсиком: кликните на выпадающее меню рядом и выберите пункт New project или New project/repository. Далее выбираем уровень приватности. Если не хотите, чтобы ваш код был виден другим пользователям и вообще никому, кроме вас, выберите из выпадающего меню уровень Private. Теперь можно приступать к загрузке файлов в репозиторий Git, который будет сформирован вместе с проектом.

Загрузка файлов в GitLab

Файлы загружаются одним из трех способов:

Через веб-интерфейс нажатием на кнопку Upload File

Через командную строку при помощи программы git

Через сторонний Git-клиент, например, Sublime Merge или Tower.

Можно также использовать и Web IDE, предназначенный для работы в браузере.

Добавление ключей авторизации

Для генерации ключа понадобится ввести в терминале команду ssh-keygen, при этом директорию, где будут храниться ключи, можно оставить по умолчанию. Далее сервис предложит ввести пароль, а затем скопировать ключ из папки (его можно узнать по расширению .pub) и вставить его на сайте GitLab: нажмите на пункт SSH-keys в меню слева.

Дальнейшая работа

Первичная настройка GitLab на этом завершена. Теперь можно приступать к работе с ветками проекта, добавлять новых пользователей и делать многие другие вещи (например, отправлять баг-репорты). Приведем основные полезные функции:

Для создания новой ветки перейдите в репозиторий, откройте уже знакомое по внешнему виду меню с плюсиком и выберите пункт New Branch. Те, кто пользуется git-клиентами, могут сделать то же самое командой git checkout или с помощью графического интерфейса

Для объединения веток проекта в одну (этот процесс называется мерджинг или слияние) нажмите на кнопку Create merge request и заполните необходимые поля. Потребуется написать поясняющий комментарий, указать автора запроса, проверяющего и поставить теги, после чего подтвердить слияние

Добавление новых пользователей осуществляется через левое меню. Выберите там Project information и далее Members. В открывшейся форме, помимо ника и электронной почты, укажите роль пользователя и дату, когда срок действия его прав истечет, и он будет исключен из проекта. Это время всегда можно продлить.

Для оповещений коллег и пользователей о каких-либо проблемах — чаще всего это баги или ошибки, — выберите в левом меню пункт Issues. Далее по клику на кнопку New Issue, откроется форма, где нужно будет указать название и добавить описание проблемы, а также назначить ответственного — Assignee.

GitLab для начинающих
Получить консультацию у специалистов DST
Напишите нам прямо сейчас, наши специалисты расскажут об услугах и ответят на все ваши вопросы.
Комментарии
RSS
Придя практически в любую IT-компанию, вы столкнётесь с тем, что код где-то хранится — и в подавляющем большинстве случаев этим «где-то» будет именно GitHub. У GitHub есть довольно известный конкурент — GitLab, он тоже основан на Git, но это разные платформы разных компаний, хотя их функциональность очень похожа.

А ещё не стоит путать GitHub и Git. GitHub — лишь одна из реализаций системы контроля версий Git (только взгляните на полный список Git-клиентов с графическим интерфейсом), в которую добавлено много удобных инструментов и возможностей (те же комментарии, issues, гиперссылки, форматированный текст и тому подобное). Помните, GitHub можно использовать и без знания Git (обратное тоже верно).
Вам может быть интересно
Разработчики компании DST Global рассказывают про четыре необходимые стратегии, которые должны лежать в основе любой программы API/SDK: простота, устойчивость, создание сообщества и постоянное соверше...
Отслеживайте ресурсы, устанавливайте политики, изучайте бессерверные варианты, и...
Поскольку цифровой ландшафт продолжает развиваться...
Выбор подходящей структуры EA имеет решающее значе...
В этой статье специалисты компании DST Global расс...
Будущее визуализации данных готово революционирова...
Что такое Kubernetes?Kubernetes является проектом ...
GitHub — это веб-сайт, на котором размещены ...

Новые комментарии

Раньше не хотели внедрять себе CRM систему, после того как установили DST CRM просто вынесла мозг своим функционалом, тысяча кнопок, менеджеры DST по ...
Уже зарегистрировался на Эпсилоне, соц сеть быстро развивается, оно и понятно сейчас такое время когда советы психологов да и просто людей которые аде...
Как минимум Роман искусственный интеллект — это моделирование человеческого интеллекта в машинах, которые запрограммированы на то, чтобы мыслить и учи...
Хотелось бы узнать — что может сделать искусственный интеллект для CMS? И чем это поможет администраторам и для моего бизнеса в прикладном понятии

Заявка на услуги DST

Наш специалист свяжется с вами, обсудит оптимальную стратегию сотрудничества,
поможет сформировать бизнес требования и рассчитает стоимость услуг.

Адрес

Россия, Ижевск, ул.Салютовская,
д.1, офис 17

8 495 1985800
Заказать звонок

Режим работы: Пн-Пт 10:00-19:00

info@dstglobal.ru

Задать вопрос по почте

Укажите ваше имя
Укажите ваше email
Укажите ваше телефон