
GitLab — это популярная система контроля версий (СКВ), которая в основном используется при разработке программного обеспечения. Это веб-программное обеспечение было написано и опубликовано на языке программирования «Ruby on Rails» в 2011 году Дмитрием Сапарошезом и сегодня считается незаменимым инструментом среди сообщества разработчиков.
Основное преимущество GitLab заключается в том, что он значительно упрощает разработку программного обеспечения между командами. Несколько разработчиков могут одновременно работать над проектом и, например, параллельно редактировать различные функции. Постоянное протоколирование процессов гарантирует, что изменения в коде не будут потеряны или случайно перезаписаны. Кроме того, уже внесенные изменения можно легко отменить.
GitLab основан на широко используемом программном обеспечении для контроля версий Git. Будучи программным обеспечением с открытым исходным кодом, Git находится в свободном доступе и является одной из самых популярных систем контроля версий. GitLab является одной из ведущих альтернатив GitHub (многие пользователи перешли на GitLab, когда GitHub был приобретен Microsoft в 2018 году).
- Как работает GitLab?
- Возможности GitLab с первого взгляда
- Лицензирование и модели поставки GitLab
- Основы GitLab: хостинг и установка
- Размещение GitLab самостоятельно или использование облачного решения
- Установка GitLab на серверы Linux
- Обновление репозитория
- Установка GitLab
- Установка GitLab на Windows
- Загрузка Git для Windows и бинарных данных GitLab Runner
- Регистрация программы GitLab runner в Windows
- Установка и запуск GitLab Runner в Windows
- Учебник по Gitlab — первые шаги в GitLab
- Создание пользователей в GitLab
- Создание нового проекта
- Командная работа с GitLab
Как работает GitLab?
GitLab — это веб-приложение с графическим пользовательским интерфейсом, но его также можно установить на частный сервер. Проекты являются центральным элементом GitLab. В этих проектах редактируемый код хранится в цифровых архивах, которые называются репозиториями. Все содержимое проекта и файлы, такие как JavaScript, HTML, CSS или PHP, можно найти в этих каталогах проекта.
GitLab работает следующим образом: Сначала все члены команды загружают свою собственную копию центрального репозитория на свой компьютер. Изменения в код первоначально вносятся с помощью коммитов. После редактирования изменения попадают в главный репозиторий.
Еще одной важной особенностью является разветвление — ветви, отходящие от основного кода для независимого редактирования. Это позволяет добавлять и тестировать новые функции, не затрагивая основную линию. Встроенные функции непрерывной доставки и непрерывной интеграции означают, что GitLab идеально подходит для тестирования. Такие полезные функции, как запросы на слияние и форки, делают его одним из самых популярных инструментов непрерывной интеграции.
Возможности GitLab с первого взгляда
Основные возможности GitLab включают:
- Удобный интерфейс
- Ветви могут оставаться приватными или могут быть открыты для общего доступа
- Возможность управления несколькими репозиториями
- Обзор кода
- Встроенное отслеживание ошибок и проблем
- Встроенная бесплатная непрерывная интеграция/доставка (CI/CD)
- Вики проекта
- Простое создание фрагментов кода для совместного использования частей кода
Лицензирование и модели поставки GitLab
GitLab основан на открытом, свободно доступном исходном коде. В 2013 году была представлена отдельная корпоративная версия для предприятий, поэтому сейчас доступны две модели поставки:
- GitLab CE: Community Edition (бесплатно)
- GitLab EE: Enterprise Edition (платная).
Обе версии основаны на лицензии MIT с открытым исходным кодом. Версия Enterprise Edition имеет несколько дополнительных возможностей по сравнению с бесплатной Community Edition. GitLab предлагает три различные модели подписки в зависимости от объема необходимых дополнительных функций.
Кроме того, Enterprise Edition можно использовать бесплатно, но она включает только основные функции Community Edition. Эта модель подходит, если вы думаете, что в какой-то момент захотите установить версию Enterprise, так как позже вы сможете перейти на новую версию. В отличие от этого, переход с Community Edition на Enterprise Edition занимает гораздо больше времени.
Основы GitLab: хостинг и установка
Обычно мы рекомендуем использовать GitLab в среде Linux. Как и Git, программное обеспечение GitLab создано специально для Linux. Вы можете установить и использовать GitLab в Windows, хотя и с ограничениями. Если вы хотите сделать это, вы можете использовать виртуальную машину, которая имитирует среду Linux на компьютере под управлением Windows. Более простой вариант — установить GitLab Runner, который необходим, если вы хотите использовать функции непрерывной интеграции в GitLab.
Размещение GitLab самостоятельно или использование облачного решения
Установка GitLab на собственный сервер не представляет особых трудностей, если у вас есть опыт работы с Linux, но она занимает относительно много времени. Помимо самой установки, вы должны учесть время, необходимое для настройки и регулярного обслуживания.
Если вы хотите сэкономить время, вы можете установить и использовать GitLab как программное обеспечение как услугу (SaaS) на облачном сервере (многие провайдеры предлагают такую услугу). Таким образом, вы сможете быстро развернуть программное обеспечение без необходимости сложной установки и настройки. GitLab Runner обычно уже установлен, так что вы можете сразу же приступить к работе.
Преимущество ручной установки GitLab в вашей собственной серверной среде заключается в большей гибкости. У вас есть полная свобода при установке: Вы можете самостоятельно принимать решения о резервном копировании, обновлениях или дополнительных ресурсах и устанавливать то, что необходимо для конкретного приложения. Тем не менее, облачное решение является привлекательным, особенно если ваш системный администратор склонен работать с большими нагрузками.
IONOS предлагает мощные, доступные по цене облачные серверы и виртуальные серверы, чтобы вы могли как можно скорее создать собственную виртуальную инфраструктуру, соответствующую вашим потребностям. Эти серверы работают со стандартными дистрибутивами Linux (Ubuntu, Debian) и Windows.
Установка GitLab на серверы Linux
Чтобы установить GitLab на сервер Linux, вам сначала понадобится программное обеспечение Git. Мы объясняем, как установить Git на сервер в нашем учебнике по Git. Затем необходимо загрузить пакет GitLab omnibus с официального сайта GitLab. Этот пакет содержит все необходимые файлы и рекомендуется для установки GitLab на Linux.
Обновление репозитория
Далее войдите на сервер как пользователь root и обновите репозиторий (в данном случае Ubuntu), чтобы получить все необходимые пакеты для GitLab. Для этого выполните следующие команды:
sudo ssh root@GitLabServer
sudo apt-get update
Затем установите пакеты следующим образом:
sudo apt install curl openssh-server ca-certificates postfix
Во время установки Postfix появится окно конфигурации. Выберите Интернет-сайт и введите доменное имя сервера, который вы используете для отправки и получения электронной почты.
Установка GitLab
Следующим шагом будет установка пакета GitLab Omnibus. Сначала добавьте репозиторий пакетов GitLab с помощью следующей команды:
curl https://packages.GitLab.com/install/repositories/GitLab/GitLab-ee/script.deb.sh | sudo bash
Затем установите GitLab с помощью команды apt. В этом примере кода GitLab установлен в версии Community Edition (CE):
sudo apt install GitLab-ce
После ввода данных сервер автоматически загрузит и установит пакет GitLab. После подтверждения установки необходимо настроить основной URL, который вы используете для доступа к серверу GitLab.
Измените URL «https://GitLab.example.com» на URL, который вы фактически используете. Для этого перейдите в каталог /etc/GitLab, где находится конфигурация, и отредактируйте конфигурационный файл GitLab.rb, используя текстовый редактор vim по умолчанию.
Команды выглядят следующим образом:
cd /etc/GitLab
vim GitLab.rb
В файле GitLab.rb найдите строку 9 («external_url») и введите нужный URL. GitLab запустит и настроит установку по этому URL.
Когда вы откроете GitLab в первый раз, вы попадете на экран сброса пароля. Установите пароль администратора; затем вы будете перенаправлены на экран входа в систему. Первоначально для входа в систему можно использовать пользователя по умолчанию «root». Позже вы можете изменить эти параметры в настройках профиля.
Установка GitLab на Windows
Сам GitLab нельзя установить на сервер Windows, но вы можете использовать GitLab Runner для доступа к существующей установке GitLab на сервере Linux из Windows. Это программное обеспечение устанавливается в Windows и совместимо с функциональностью непрерывной интеграции GitLab (GitLab CI/CD). Таким образом, исполнитель может отправлять запросы и рабочие заказы в GitLab.
Загрузка Git для Windows и бинарных данных GitLab Runner
Перед установкой GitLab на сервер Windows вам понадобится Git for Windows. Вы можете загрузить это программное обеспечение с официального сайта. Вам также следует назначить уникальный пароль для учетной записи пользователя, если вы не собираетесь использовать системную учетную запись по умолчанию.
Вам понадобится токен, предоставляющий исполнителю доступ к экземпляру GitLab. Этот ключ доступа можно найти в настройках GitLab в разделе Settings -> CI / CD.
Затем скачайте бинарный файл (x86 или amd64) для GitLab Runner для Windows и создайте папку в любом месте вашей системы, например, C:GitLab-runner.
Вставьте файл в эту папку и переименуйте его в GitLab-runner.exe. Затем откройте Windows PowerShell (или Command Prompt) с расширенными правами администратора.
Регистрация программы GitLab runner в Windows
Чтобы зарегистрировать GitLab runner, введите в командной строке следующую команду:
./GitLab-runner.exe register
Затем введите URL-адрес установки GitLab (приведенный ниже пример является лишь примером):
https://GitLab.com
В следующем окне введите токен, чтобы связать бегунок с установкой GitLab. Затем вы можете задать собственное описание для бегуна. Этот параметр также может быть изменен позже в интерфейсе GitLab. В следующем окне вы можете определить теги. Эти теги полезны, если вы хотите, чтобы бегунок обрабатывал несколько проектов одновременно. С помощью тегов вы можете указать, какие именно проекты будут назначены.
На последнем шаге вы определяете «исполнителя», то есть среду, в которой запускается бегунок, например, экземпляр VirtualBox или среду оболочки. Shell — самый простой в настройке исполнитель и является вариантом по умолчанию при первой регистрации GitLab Runner в Windows.
Please enter the executor: ssh, docker+machine, docker-ssh+machine, kubernetes, docker, parallels, virtualbox, docker-ssh, shell:
shell
Установка и запуск GitLab Runner в Windows
Для установки GitLab Runner вы можете использовать либо системную учетную запись по умолчанию, либо собственную учетную запись пользователя. В PowerShell или командной строке перейдите в каталог, который вы создали выше, и введите по очереди следующие команды:
cd C:GitLab-Runner
.GitLab-runner.exe install
.GitLab-runner.exe start
Учебник по Gitlab — первые шаги в GitLab
После установки GitLab вы можете получить доступ к графическому интерфейсу пользователя по ранее определенному URL. Для этого вы можете использовать выбранный вами браузер, а затем войти в систему как администратор. Имя пользователя и связанный с ним пароль можно изменить позже в области администратора.
Создание пользователей в GitLab
В области администратора можно выбрать кнопку Новый пользователь, чтобы создать пользователей, сотрудничающих с проектами GitLab. Для этого вы определяете уникальный адрес электронной почты и учетные данные для входа в систему, а затем назначаете пользователя на нужный проект.
В этой же области вы можете изменить разрешения пользователей, выбрав «Редактировать», а также заблокировать или удалить пользователей. Обратите внимание, что блокировка пользователя не позволяет ему войти в систему, при этом все данные (например, коммиты) остаются нетронутыми. Полное удаление пользователя также удаляет информацию, связанную с ним. Поэтому всегда соблюдайте осторожность при выборе этой опции.
Создание нового проекта
Самым важным шагом является создание нового проекта. Для этого выберите кнопку Новый проект. В результате откроется страница создания нового проекта. Введите название проекта в поле «Название проекта». Это поле не должно содержать специальных символов или пробелов. В разделе «Уровень видимости» вы определяете, какие пользователи имеют доступ к проекту. GitLab различает следующие уровни:
- Приватный: Доступ есть только у вас.
- Внутренний: Каждый вошедший в систему пользователь имеет доступ.
- Публичный: Любой пользователь может получить доступ к проекту без предварительной аутентификации.
После выбора настроек создайте проект, выбрав Создать проект. Затем вы можете связать проект непосредственно с локальным Git-репозиторием. Для этого выберите опцию «HTTPS» под именем проекта в представлении проекта и скопируйте отображаемые команды в командную строку.
Если у вас нет локальной копии репозитория на сервере, вы можете добавить ее сейчас, введя следующую команду:
$ git clone https://server/namespace/project.git
После инициализации хранилища вы можете просмотреть всю информацию о нем на странице проекта. Вы также можете просмотреть последние действия и посмотреть историю фиксации, чтобы узнать, кто и когда внес изменения в код.
Командная работа с GitLab
Самый простой способ совместной работы с другими пользователями над проектом GitLab — предоставить пользователям прямой push-доступ к репозиторию. Для этого добавьте пользователей в проект, как описано выше, и предоставьте им соответствующие права доступа.
Пользователи с правами «разработчик» или выше могут перемещать свои коммиты и ветки в репозиторий без ограничений. В качестве альтернативы можно использовать запросы на слияние, которые позволяют более тщательно контролировать доступ, поскольку главная ветвь не редактируется напрямую. Вместо этого пользователи могут создавать ветви, вносить свои коммиты, а затем делать запрос на слияние для подключения ветви к мастеру (или другой ветви).
Пользователи без прав доступа также могут создавать форки, то есть редактировать свою собственную копию проекта с введенными коммитами. Затем они могут отправить запрос на слияние, чтобы реинтегрировать форк в основной проект. Благодаря этой функции владелец проекта имеет полный контроль над тем, что попадает в репозиторий, но он также может разрешить неизвестным пользователям вносить свой вклад.
Будучи сложным инструментом для совместной работы, GitLab имеет множество функций, облегчающих командную работу, например, проектные вики или инструменты для обслуживания системы.