Бесплатная миграция IT-инфраструктуры в облако

Установка Gitlab на Ubuntu 22.04: пошаговая инструкция

Илья Ушаков
Илья Ушаков
Технический писатель
30 декабря 2022 г.
11228
6 минут чтения
Средний рейтинг статьи: 5

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

Основной функционал GitLab:

  • Планирование и управление разрабатываемыми проектами;
  • Создание, просмотр и управление кодом и данными проектов;
  • Проверка кода благодаря автоматическому тестированию и отчетности;
  • Мониторинг ресурсов и просмотр метрик;
  • Использование готовых шаблонов моделей.

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

В статье будет подробно описана инструкция по самостоятельной установке GitLab на Ubuntu и последующей его настройке. 

Предварительные требования

Ниже приведен список требований, достаточных для установки GitLab на сервер.

Во-первых, понадобится сервер, расположенный либо на личном компьютере, либо в облаке. Исходя из документационных требований к GitLab, сервер должен быть снабжен:

  1. Четырехъядерным процессором (нагрузка до 500 пользователей);
  2. 4 ГБ оперативной памяти (нагрузка до 500 пользователей);
  3. ОС Ubuntu 22.04.

Во-вторых, понадобится доменное имя, которое будет указывать на соответствующий сервер. В данной инструкции в качестве примера будет использоваться бесплатный домен от Timeweb Cloud.

cloud

Шаг 1. Добавление необходимых зависимостей

Первым этапом будет установка необходимого для GitLab ПО. Скачать его можно из репозиториев Ubuntu.

Выполняем базовое обновление пакетов:

sudo apt-get update

Image1

А после устанавливаем необходимые зависимости:

sudo apt-get install -y curl openssh-server ca-certificates tzdata perl

Есть вероятность, что часть ПО из списка уже была установлена на сервер ранее. Лучшим решением будет продублировать всю строку, указанную выше, и убедиться, что все успешно установлено.

Следующее, что нужно установить на сервер — это Postfix (или Sendmail), который служит механизмом отправки уведомлений на email:

sudo apt-get install -y postfix

Во время инсталляции программы в открывшемся окне необходимо выбрать «Интернет-сайт», как показано на рисунке ниже.

Image12

Далее указываем домен сервера — в нашем случае testgitlab.tw1.su.

Image13

Шаг 2. Установка GitLab

Теперь можно начинать устанавливать GitLab. Загрузим необходимый скрипт:

cd /tmp
curl -LO https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh

Чтобы посмотреть и изучить работу данного скрипта, вводим команду:

sudo less /tmp/script.deb.sh

Если вас всё устраивает, можно переходить непосредственно к запуску скрипта:

sudo bash /tmp/script.deb.sh

Image6

Как только скрипт завершит работу можно начинать установку GitLab:

sudo apt install gitlab-ce

Image11

Шаг 3. Настройка брандмауэра

Для начала необходимо проверить по каким протоколам разрешен трафик. Чтобы посмотреть статут брандмауэра, вводим команду:

sudo ufw status

Image8

Как видно по рисунку, в данный момент разрешен трафик только по протоколу SSH. Вдобавок к SSH, нужно разрешить трафик по протоколам HTTP и HTTPS из-за того, что приложение GitLab взаимодействует с интернетом.

Разрешаем доступ HTTP:

sudo ufw allow http

А теперь HTTPS:

sudo ufw allow https

После внесенных изменений снова посмотрим статут брандмауэра. Как видно по рисунку ниже, все изменения вступили в силу.

Image14

Шаг 4. Настройка файла конфигурации

Перед запуском GitLab важно отредактировать конфигурацию в файле gitlab.rb с помощью редактора nano:

sudo nano /etc/gitlab/gitlab.rb

В открывшемся файле находим строку продемонстрированную на картинке ниже и изменяем имя домена на testgitlab.tw1.su. У вас будет другое имя. Также сразу перейдем на более безопасный протокол шифрования — HTTPS. 

Image4

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

Image6

Выполняем сохранение (CTRL+O) и выходим из файла (CTRL+X). Чтобы система внесла все изменения, запускаем реконфигурацию:

sudo gitlab-ctl reconfigure

Запущенный процесс не только передаст всю необходимую информацию приложению о сервере, но и перенастроит Let’s Encrypt для указанного домена.

Шаг 5. Знакомство с GitLab в браузере

Вводим в строке браузера указанное ранее доменное имя. В нашем случае оно будет выглядеть так:

https://testgitlab.tw1.su

Регистрация и авторизация

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

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

  • Имя пользователя — root;
  • Пароль — пароль, указанный ранее.

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

Настройка профиля

У нового пользователя GitLab будут применены стандартные настройки пользователя. Чтобы их изменить, нужно перейти во вкладку «Settings», расположенном в правом верхнем углу окна в выпадающем меню.

В открывшимся разделе «Профиль» пользователь может изменить данные на актуальные.

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

Чтобы изменения вступили в силу, нужно нажать кнопку в самом низу экрана, как показано на картинке ниже.

Image2

Изменение имени пользователя

Переходим в раздел в меню настроек слева «Account». Здесь нужно изменить автоматически присвоенное имя на более уникальное, как показано на рисунке ниже. Это даст дополнительную безопасность аккаунту в случае попыток его взлома.

Image5

Также в этом разделе пользователь может добавить двухфакторную аутентификацию.

Добавление SSH-ключа

Для взаимодействия Git с GitLab необходимо сгенерировать и привязать публичный ключ в настройках.

Запускаем генерацию ключей:

ssh-keygen

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

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

Image3

Открываем публичный ключ:

cat ~/.ssh/id_rsa.pub

После копирования его в нужный раздел нажимаем кнопку «Add key».

Первый проект

Чтобы создать первый проект в GitLab, достаточно зайти на главную страницу и нажать на область, выделенную на картинке ниже.

Image4

Далее откроется форма создания проекта. Заполним такие данные, как название и тип репозитория. Репозиторий может быть публичным (Public), приватным (Private) или внутренним (Internal).

Если планируется добавлять файлы из уже существующего репозитория, то не нужно ставить галочку в поле «Initialize repository with a README». В ином случае сделать это нужно обязательно.

Далее нажимаем кнопку «Create repo» и создаем первый проект.

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

Запустите GitLab на облачном сервере

Заключение

В данной статье была продемонстрирована пошаговая инструкция по установке Gitlab на Ubuntu 22.04. После выполнения всех шагов, пользователь также сможет развернуть в системе первый проект и начать с ним работу.

Хотите внести свой вклад?
Участвуйте в нашей контент-программе за
вознаграждение или запросите нужную вам инструкцию
img-server
30 декабря 2022 г.
11228
6 минут чтения
Средний рейтинг статьи: 5
Комментарии 4
Компания
19.08.2024, 11:21

вполне работает ;)

Alex Di
Alex Di
02.07.2024, 12:17

=) больше не работает

Команда Timeweb Cloud
Команда Timeweb Cloud
04.07.2024, 02:19

А что именно не работает? Прошли по всей статье целиком — всё запустилось.

MRX
23.08.2024, 14:43

в конфиге /etc/gitlab/gitlab.rb отсутствует упоминание letsencrypt, а без него и https не запускается