Установка GitLab

Установка GitLab представляет из себя достаточно простой процесс, особенно в тестовой среде, и упирается всего лишь в несколько команд. Тем не менее, есть некоторые рекомендованные практики, которые я обязательно рассмотрю. Также подробно будут рассмотрены все сложности развертывания GitLab на Debian в виртуализованной среде Hyper-V.


Если вам интересна тематика Debian и связанных с ним приложений, рекомендую обратиться к тегу Debian на моем блоге.


Установка GitLab

Я планирую разворачивать Omnibus GitLab 1. Это наиболее простой в установке и настройке дистрибутив, который позволяет сразу приступить к использованию продукта. Собственно так и написано в его описании:

Omnibus is a way to package different services and tools required to run GitLab, so that most of developers can install it without laborious configuration

Итак, приступим.

Настройка окружения

В качестве площадки для развертывания GitLab использовалась виртуальная машина второго поколения на базе гипервизора Windows 8.1 Hyper-V. Напомню, что безопасная загрузка для unix-like ОС пока не поддерживается (это реализовано лишь в Windows Server 2016/Windows 10) и потому её надо обязательно отключать в свойствах ВМ:

Гостевой ОС выбран Debian последней на момент написания статьи версии (дистрибутив debian-8.7.0-amd64-netinst.iso 2). Установка представляет из себя стандартный процесс, который был описан в одной из моих давних статей (Debian. Установка системы на виртуальную машину).

Подготовка ОС

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

Настройка сети

Поскольку на виртуальной машине будет крутиться веб-сервер, использовать статический ip-адрес было бы логично.

Для этого открываем настройки сетевых интерфейсов:

На моей виртуальной машине был всего один сетевой интерфейс – eth0, его настройки я и поменял:

Сохраняем изменения и выходим, остается только перезапустить сеть:

Переподключаемся к серверу по новому адресу.

Подготовка хранилища

Хранилище GitLab может занимать достаточно большой объем, а потому более чем логично подготовить для него выделенное пространство. Для этого я просто подключил ещё один .vhdx-диск к своей виртуальной машине. Далее его надо было настроить.

Проверить подключенные диски в Debian вы можете командой lsblk. Она отображает список блочных устройств. Например вот так выглядит её вывод:

Создаем точку монтирования:

Создаем файловую систему:

После выполнения команды будет запрошен ввод данных от пользователя. Нужно последовательно ввести:

  • n (означает создание нового раздела),
  • сделать раздел первичным (ввести p)
  • и записать данные на диск (w)

Если будут какие-либо сомнения, можно вызвать справку (m).

Далее форматируем диск командой:

Примечание: В Hyper-V 2012 R2/8.1 есть очень неприятный баг, связанный с дисками объемом более 2ТБ на виртуальных машинах второго поколения с гостевой ОС Linux: не получается отформатировать диск в нужной файловой системе. После выполнения команды mkfs –t ext4 /dev/sdb1 идет зависание системы, ЦП грузится на 50%, идет постепенное заполнение системного диска до полного объема, в то время как с нужным диском изменений не происходит.

Проблема известна 3. Решение также есть: накатить на хост виртуализации обновление 4. Обходной вариант – просто уменьшить объем диска до <2TB.


UPD: 07.03.2017: совсем забыл об очень важной детали, исправляюсь.

Настроим автоматическое монтирование раздела, открыв fstab:

Внизу добавляем строчку (между значениями обязательно табуляция, а не пробелы!):

/dev/sdb1 /mnt/storage01 ext4 defaults 0 0


Далее создаем необходимые каталоги:

На всякий случай назначаем права в точности как на каталогах хранилища GitLab по умолчанию:

Ну и меняем владельца:

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

Установка GitLab

Доступны два варианта установки GitLab – из исходников 5 или из пакетов 6. Второй вариант лично для меня более удобен – меньше времени на изучение/установку/развертывание и обновление в будущем, а значит можно сразу приступить к изучению основного функционала продукта.

Документация имеет в своем арсенале инструкции для установки GitLab на разные операционные системы, что очень удобно.

Итак, перейдем сразу к делу. Для начала установим все пререквизиты:

Во время установки Postfix попросить выбрать конфигурацию, рекомендуют остановиться на Internet Site:

If you install Postfix to send email please select ‘Internet Site’ during setup. Instead of using Postfix you can also use Sendmail or configure a custom SMTP server and configure it as an SMTP server.

Примечание: переконфигурировать Postfix вы можете в любое удобное время, в том числе и после развертывания GitLab. Достаточно запустить команду dpkg-reconfigure postfix. Для меня это был боле удобный и прозрачный способ.

Далее выкачиваем и выполняем скрипт:

Запускаем установку:

И последний шаг – конфигурируем GitLab:

Процесс может занять длительное время, особенно при слабом ЦП и небольшом объеме RAM. Установка на этом завершена.

Базовая настройка GitLab

Практически сразу после установки GitLab готов к работе, остается сделать лишь пару штрихов.

Первый вход

Веб-интерфейс GitLab доступен по ip-адресу сервера или по DNS-имени, если в вашей сети функционирует сервер DNS и на нем зарегистрировано нужное имя.

При первом входе необходимо задать пароль учетной записи администратора. Имя учетной записи – root.

Подключение хранилищ

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

Открываем для редактирования:

Изменяем существующую секцию или добавляем новую:

где storage01 – как раз новое хранилище.

Переконфигурируем GitLab:

Дальше остается только выбрать новое хранилище через веб-интерфейс и применить изменения:

Установка GitLab

На этом установка и настройка GitLab завершена.

Яндекс.Метрика