Как установить и настроить GitLab в Ubuntu 18.04/20.04

Как установить и настроить GitLab в Ubuntu 18.04 / 20.04

Рубрики:

GIT

Метки:

, , , ,

Эта статья расскажет Вам, как установить и настроить GitLab в операционной системе Linux Ubuntu. Сегодня это программное обеспечение используют компании по всему миру — как стартапы, так и крупные коллективы с огромными проектами в сфере IT. Простое пошаговое руководство поможет с нуля выполнить установку распределенной системы контроля версий программного обеспечения GitLab CE (Community Edition). Что обязательно пригодится в работе системному администратору, инженеру DevOps, а также — представителям многих других ИТ-профессий. Читайте наше полное пошаговое руководство по установке и настройке GitLab в Ubuntu.

Содержание:

  1. Что такое GitLab
  2. Системные требования для установки GitLab в Ubuntu
  3. Устанавливаем предварительные компоненты GitLab
    1. Настраиваем Postfix
    2. Вписываем IP-адрес сервера в файл /etc/hosts
  4. Устанавливаем GitLab
    1. Скачиваем скрипт для установки GitLab
    2. Запускаем скрипт script.deb.sh
    3. Запускаем установку gitlab-ce с помощью команды apt
  5. Настраиваем сервер с GitLab
    1. Настраиваем и включаем брандмауэр операционной системы Ubuntu
    2. Редактируем файл конфигурации GitLab
    3. Применяем новые настройки GitLab
    4. Узнаем пароль учетной запись администратора (root) в GitLab
    5. Авторизуемся в веб-интерфейсе GitLab
    6. Отключаем свободную регистрацию аккаунтов (опционально)
    7. Создаем тестовый проект (репозиторий) в GitLab
  6. Выводы

Что такое GitLab

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

  • репозитории кода;
  • средства непрерывной интеграции и доставки (CI / CD);
  • встроенную wiki проекта;
  • систему отслеживания и учета ошибок и многое другое.

Система GitLab была создана в 2011 году как стартап украинских разработчиков Дмитрия Запорожца и Валерия Сизова. В 2021 году, после вывода на IPO, капитализация компании превысила $19 млрд.

Читайте также: Как поместить свое веб-приложение в Docker-контейнер. Работа с Dockerfile.

Системные требования для установки GitLab в Ubuntu

Разработчики указывают следующие минимальные системные требования к серверу, на который будет устанавливаться GitLab:

  • 2 процессорных ядра CPU;
  • 8 Гбайт оперативной памяти;
  • доменное имя (чтобы к системе можно было обращаться по домену).

Важно: на практике Вам потребуется куда больше оперативной памяти. И чем больше разработчиков будут пользоваться GitLab — тем большие объемы ОЗУ нужны (для крупного проекта лучше сразу обеспечить не менее 128 Гбайт).

Устанавливаем предварительные компоненты GitLab

Перед тем как выполнять установку GitLab, необходимо обновить операционную систему. Для этого вводим в командную строку команды apt update и apt upgrade:

 

Важно: эти и многие другие команды из данного руководства обязательно нужно выполнять с правами суперпользователя (root).

Далее следует установить предварительные компоненты — программное обеспечение, которое обязательно должно быть в Вашей ОС для успешной установки и работы GitLab. Для этого вводим в командную строку команду apt install ca-certificates curl openssh-server postfix:

 

Пример вывода:

 

Важно: после проверки доступности указанных пакетов программного обеспечения операционная система запросит у вас подтверждение — просто нажмите клавишу y.

Настраиваем Postfix

При установке предварительных компонентов у Вас откроется окно настройки Postfix (Postfix Configuration).

Окно настройки Postfix Configuration

Нажимаем клавишу Ok. В результате у Вас должно открыться окно выбора настроек почтового сервиса (General type of mail configuration).

Окно General type of mail configuration в Postfix

Здесь выбираем пункт Internet Site и нажимаем клавишу Ok.

В третьем и последнем окне мастер установки предложит Вам указать домен (FQDN — от англ. Fully Qualified Domain Name) сервера, на который устанавливается Postfix.

Указываем FQDN сервера при установке Postfix

Мы укажем свой домен — gitlab.hhbb.me. Тогда как у Вас должен быть подготовлен собственный домен для установки GitLab.

Важно: при установке Postfix обязательно следует указать корректный домен, чтобы потом у Вас была возможность получить сертификат Let’s Encrypt.

Вписываем IP-адрес сервера в файл /etc/hosts

Если Вы разворачиваете GitLab на облачном сервере — нужно будет вписать в файле /etc/hosts его IP-адрес (вместо указанного по умолчанию 127.0.1.1). Для этого сначала вводим в командную строку команду ip addr sh:

 

Находим и копируем в выводе команды IP Вашего облачного сервера.

Узнаем IP-адрес сервера с помощью команды ip addr sh

Теперь открываем файл /etc/hosts в текстовом редакторе (мы воспользовались vim, однако подойдет любой):

 

Вставляем скопированный IP-адрес напротив домена вместо стандартного 127.0.1.1 (в нашем случае — напротив gitlab.hhbb.me, тогда как у Вас будет свой домен).

Вставляем IP-адрес сервера в файл /etc/hosts

Читайте также: Как установить Nginx 1.15, MariaDB 10 и PHP 7 на CentOS 7.

Устанавливаем GitLab в Ubuntu

Теперь все готово к установке GitLab в Ubuntu. Приступим.

Скачиваем скрипт для установки GitLab

Для установки GitLab CE воспользуемся готовым скриптом. Для этого вводим в командную строку команду curl с опциями -LO и следующим URL-адресом:

 

Пример вывода:

 

Теперь давайте убедимся, что в скрипте нет ничего лишнего и представляющего опасность для Вашей системы. Для этого вводим в командную строку команду less script.deb.sh:

 

В результате содержимое скрипта будет выведено в Вашу командную строку:

 

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

Запускаем скрипт script.deb.sh

Убедившись, что в тексте нет ничего подозрительного, запускаем скрипт. Для этого вводим в командную строку команду bash script.deb.sh:

 

Пример вывода:

 

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

Запускаем установку gitlab-ce с помощью команды apt

Теперь наконец-то можно начать установку пакетов GitLab. Для этого вводим в командную строку следующую команду apt install с аргументом gitlab-ce:

 

Пример вывода:

 

Важно: пакеты GitLab имеют общий размер более 1,1 Гбайт — при использовании медленного соединения они могут скачиваться долго.

Настраиваем сервер с GitLab в Ubuntu

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

Настраиваем и включаем брандмауэр операционной системы Ubuntu

Сперва следует разрешить доступ к серверу с использованием протоколов http, https и ssh. В операционной системе Ubuntu для этого поочередно вводим в командную строку команду ufw allow с аргументами http , https и OpenSSH:

 

Теперь нужно включить брандмауэр. Для этого вводим в командную строку команду ufw enable:

 

Пример вывода:

 

Подтверждаем включение брандмауэра, нажав клавишу y.

Настраиваем и включаем брандмауэр сервера, на котором установлен GitLab

Читайте также: 15 советов по использованию команды curl в Linux.

Редактируем файл конфигурации GitLab в Ubuntu

Теперь следует открыть файл конфигурации GitLab, который расположен по адресу /etc/gitlab/gitlab.rb. Для этого мы снова воспользуемся текстовым редактором vim:

 

В содержимом находим и изменяем следующие параметры (если есть — убираем в начале строки символ комментария #):

  • external_url — домен Вашего сервера, на котором установлен GitLab (должен начинаться с https:// а не с http://);
  • letsencrypt['enable'] — использование сертификата Let’s Encrypt (задаем значение true);
  • letsencrypt['contact_emails'] — электронная почта для регистрации (указываем Ваш email);
  • letsencrypt['auto_renew'] — автообновление сертификата Let’s Encrypt (задаем значение true);
  • letsencrypt['auto_renew_hour'] — время автообновления сертификата, часов (например, 12);
  • letsencrypt['auto_renew_minute'] — время автообновления сертификата, минут (задаем значение в минутах — например, 30);
  • letsencrypt['auto_renew_day_of_month'] — день месяца для автообновления сертификата (задаем значение — например, каждый 7-й день или */7).

Пример изменений в файле конфигурации GitLab:

 

Редактируем файл конфигурации GitLab в Ubuntu

Закрываем файл и сохраняем его. В текстовом редакторе vim для этого сначала нажимаем клавишу Esc, потом комбинацию клавиш Shift + ; и вводим символы wq. После чего — нажимаем клавишу Enter.

Применяем новые настройки GitLab

Теперь, чтобы изменения вступили в силу — вводим в командную строку команду gitlab-ctl с аргументом reconfigure:

 

Пример вывода:

 

Данная команда активирует скрипт, который считает новые значения параметров в файле конфигурации и внесет соответствующие изменения во все задействованные файлы GitLab.

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

Узнаем пароль учетной запись администратора (root) в GitLab

Последний этап работы скрипта — получение автоматически сгенерированного пароля учетной записи администратора (root). Однако для соблюдения требований безопасности этот пароль не может быть выведен в командную строку (стандартный поток 1 — STDOUT). Вместо этого вывод скрипта будет содержать путь до файла, в котором указан пароль — /etc/gitlab/initial_root_password.

Открываем этот файл в текстовом редакторе. Мы снова воспользуемся vim. Для этого вводим в командную строку следующую команду:

 

Копируем пароль, он пригодится Вам для первой авторизации в веб-интерфейсе GitLab.

Узнаем пароль учетной запись администратора (root) в GitLab

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

Авторизуемся в веб-интерфейсе GitLab

Теперь Вам нужно авторизоваться в веб-интерфейсе GitLab. Для этого открываем браузер и вводим в адресную строку URL сервера (в нашем случае — https://gitlab.hhbb.me, у Вас — свой).

После этого в браузере откроется окно авторизации. Вводим имя учетной записи root (либо email, указанный в файле конфигурации) и скопированный из файла пароль. После чего нажимаем клавишу Sign in («Авторизоваться»).

Авторизуемся в веб-интерфейсе GitLab

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

Отключаем свободную регистрацию аккаунтов (опционально)

После авторизации у Вас откроется веб-интерфейс GitLab в Ubuntu. В верхней его части Вы увидите оповещение о том, что регистрация учетных записей открыта. То есть, любой пользователей может ввести в адресною строку URL-адрес Вашего сервера и создать себе новый аккаунт. Если Вас все устраивает — нажмите кнопку Acknowledge («Ознакомлен») под оповещением.

Видим оповещение о том, что открыта свободная регистрация на сервере GitLab

Конечно, такие учетные записи лишены административных прав доступа. Однако в некоторых случаях свободная регистрация может быть нежелательна. Тогда просто нажмите кнопку Turn off («Отключить») под оповещением. Нужный раздел меню настроек сервера GitLab откроется автоматически.

Просто убираем галочку из чекбокса напротив опции Sign-up enabled («Регистрация включена»).

Отключаем свободную регистрацию на сервере GitLab

Также по умолчанию включена и опция Require admin approval for new sign-ups («Требовать одобрения администратора для новых учетных записей»). То есть, каждую заявку на создание аккаунта пользователь с правами администратора должен рассматривать и одобрять в ручном режиме.

Вместо отключения свободной регистрации можно в поле Allowed domains for sign-ups («Разрешенные домены для регистрации») перечислить разрешенные домены email, владельцы которых смогут без каких-либо ограничений регистрировать рабочие учетные записи на Вашем сервере GitLab в Ubuntu. Например, это может быть домен почтового сервиса Вашей компании. При этом с любой другой почтой регистрация будет невозможна.

Используем списки разрешенных и запрещенных доменов email для регистрации на сервере GitLab

Еще ниже находится поле Denied domains for sign-ups («Запрещенные домены для регистрации»). Владельцы почтовых ящиков с любого из перечисленных здесь доменов не смогут регистрировать учетные записи на Вашем сервере. К примеру, здесь можно перечислить бесплатные сервисы email, в безопасности которых Вы не уверены.

Читайте также: Chkservice — простой способ управления модулями (юнитами, unit) Systemd в терминале.

Создаем тестовый проект (репозиторий) в GitLab в Ubuntu

Давайте попробуем создать новый проект в GitLab. Для этого возвращаемся на главную страницу веб-интерфейса сервера. После чего в верхнем правом углу экрана находим и нажимаем кнопку New project («Новый проект»).

Нажимаем кнопку New project (Новый проект) в GitLab

У Вас откроется окно Create new project («Создание нового проекта»), где на выбор доступны следующие варианты:

  • Create blanc project («Создать пустой проект») — создать полностью новый проект без готовой структуры;
  • Crate from template («Создать проект по образцу») — создать проект, структура которого будет соответствовать ранее созданному образцу;
  • Import project («Импортировать проект») — загрузить структуру и содержимое существующего проекта из внешнего источника.

Создаем пустой проект в GitLab

Нажимаем кнопку Create blanc project («Создать пустой проект»).

Прежде всего, заполняем поле Project name («Название проекта») — вводим название test-project.

Вводим название проекта в GitLab

Далее в поле Project URL («URL проекта») у Вас есть возможность настроить формат URL-адреса проекта. А именно — будет ли подставляться в адрес имя пользователя или название группы пользователей, работающих над проектом.

Настраиваем формат URL-адреса проекта

Еще ниже находится чекбокс Visibility level («Уровень видимости»), в котором доступны три варианта:

  • Privat («Частный») — доступен только указанным конкретным зарегистрированным пользователям либо группе пользователей;
  • Internal («Внутренний») — доступен всем зарегистрированным пользователям;
  • Public («Публичный») — доступен без регистрации на Вашем сервере GitLab.

Выбираем уровень видимости проекта

Поскольку этот проект тестовый — подойдет любой из вариантов. Выбираем Internal («Внутренний») и нажимаем кнопку Create project («Создать проект»). У Вас откроется окно только что созданного проекта.

Просматриваем окно созданного проекта GitLab

 

Ниже на этой же странице Вы найдете раздел Add your files («Добавить Ваши файлы»).

Находим команды Linux для доступа к репозиторию Вашего проекта

В нем перечислены готовые команды Linux, с помощью которых можно получить доступ к репозиторию файлов Вашего проекта.

Теперь Вы можете добавлять новых пользователей и открывать для них работу над проектом в GitLab.

Читайте также: Как использовать систему управления версиями Git в Linux.

Выводы

Теперь Вы знаете, как установить и настроить GitLab в Ubuntu 18.04 / 20.04. Этот инструмент почти наверняка пригодится в работе, независимо от Вашей ИТ-профессии. Например, разработчики программного обеспечения смогут хранить на сервере различные версии исходного кода проекта+ тогда как инженеры DevOps, сетевые инженеры и специалисты по программируемым сетям и система (DevOps / DevNet) — могут использовать GitLab для хранения файлов конфигурации, скриптов и прочих полезных файлов.

Спасибо за время, уделенное прочтению статьи!

Если возникли вопросы — задавайте их в комментариях.

Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Cisco, курсы по кибербезопасности, полный курс по кибербезопасности, курсы DevNet / DevOps (программируемые системы) от Академии Cisco, курсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).

Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!

Спешите подать заявку! Группы стартуют 25 января, 26 февраля, 22 марта, 26 апреля, 24 мая, 21 июня, 26 июля, 23 августа, 20 сентября, 25 октября, 22 ноября, 20 декабря.
Что Вы получите?
  • Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
  • Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проведем вечерние онлайн-лекции на нашей платформе.
  • Согласуем с вами удобное время для практик.
  • Если хотите индивидуальный график — обсудим и реализуем.
  • Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
  • Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
А еще поможем Вам:
  • отредактировать или создать с нуля резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco, Linux LPI, кибербезопасность, DevOps / DevNet, Python, подайте заявку или получите бесплатную консультацию.

Рубрики:

GIT

Метки:

, , , ,

Больше похожих постов

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Заполните поле
Заполните поле
Пожалуйста, введите корректный адрес email.
Вы должны согласиться с условиями для продолжения


Поиск по сайту
Лучшее
Популярное
Рубрики
Меню