Эта статья расскажет Вам, как установить и настроить GitLab в операционной системе Linux Ubuntu. Сегодня это программное обеспечение используют компании по всему миру — как стартапы, так и крупные коллективы с огромными проектами в сфере IT. Простое пошаговое руководство поможет с нуля выполнить установку распределенной системы контроля версий программного обеспечения GitLab CE (Community Edition). Что обязательно пригодится в работе системному администратору, инженеру DevOps, а также — представителям многих других ИТ-профессий. Читайте наше полное пошаговое руководство по установке и настройке GitLab в Ubuntu.
Содержание:
- Что такое GitLab
- Системные требования для установки GitLab в Ubuntu
- Устанавливаем предварительные компоненты GitLab
- Устанавливаем GitLab
- Настраиваем сервер с GitLab
- Настраиваем и включаем брандмауэр операционной системы Ubuntu
- Редактируем файл конфигурации GitLab
- Применяем новые настройки GitLab
- Узнаем пароль учетной запись администратора (root) в GitLab
- Авторизуемся в веб-интерфейсе GitLab
- Отключаем свободную регистрацию аккаунтов (опционально)
- Создаем тестовый проект (репозиторий) в GitLab
- Выводы
Что такое 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).
Нажимаем клавишу Ok. В результате у Вас должно открыться окно выбора настроек почтового сервиса (General type of mail configuration).
Здесь выбираем пункт Internet Site и нажимаем клавишу Ok.
В третьем и последнем окне мастер установки предложит Вам указать домен (FQDN — от англ. Fully Qualified Domain Name) сервера, на который устанавливается Postfix.
Мы укажем свой домен — gitlab.hhbb.me
. Тогда как у Вас должен быть подготовлен собственный домен для установки GitLab.
Важно: при установке Postfix обязательно следует указать корректный домен, чтобы потом у Вас была возможность получить сертификат Let’s Encrypt.
Вписываем IP-адрес сервера в файл /etc/hosts
Если Вы разворачиваете GitLab на облачном сервере — нужно будет вписать в файле /etc/hosts
его IP-адрес (вместо указанного по умолчанию 127.0.1.1). Для этого сначала вводим в командную строку команду ip addr sh
:
Находим и копируем в выводе команды IP Вашего облачного сервера.
Теперь открываем файл /etc/hosts
в текстовом редакторе (мы воспользовались vim, однако подойдет любой):
Вставляем скопированный IP-адрес напротив домена вместо стандартного 127.0.1.1 (в нашем случае — напротив gitlab.hhbb.me
, тогда как у Вас будет свой домен).
Читайте также: Как установить 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.
Читайте также: 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:
Закрываем файл и сохраняем его. В текстовом редакторе vim для этого сначала нажимаем клавишу Esc, потом комбинацию клавиш Shift + ; и вводим символы wq
. После чего — нажимаем клавишу Enter.
Применяем новые настройки GitLab
Теперь, чтобы изменения вступили в силу — вводим в командную строку команду gitlab-ctl
с аргументом reconfigure
:
Пример вывода:
Данная команда активирует скрипт, который считает новые значения параметров в файле конфигурации и внесет соответствующие изменения во все задействованные файлы GitLab.
Важно: процесс выполнения скрипта зависит от производительности Вашего сервера и может потребовать много времени.
Узнаем пароль учетной запись администратора (root) в GitLab
Последний этап работы скрипта — получение автоматически сгенерированного пароля учетной записи администратора (root). Однако для соблюдения требований безопасности этот пароль не может быть выведен в командную строку (стандартный поток 1 — STDOUT). Вместо этого вывод скрипта будет содержать путь до файла, в котором указан пароль — /etc/gitlab/initial_root_password
.
Открываем этот файл в текстовом редакторе. Мы снова воспользуемся vim. Для этого вводим в командную строку следующую команду:
Копируем пароль, он пригодится Вам для первой авторизации в веб-интерфейсе GitLab.
Важно: обязательно скопируйте пароль сразу после завершения работы скрипта — спустя 24 часа его содержимое будет автоматически удалено.
Авторизуемся в веб-интерфейсе GitLab
Теперь Вам нужно авторизоваться в веб-интерфейсе GitLab. Для этого открываем браузер и вводим в адресную строку URL сервера (в нашем случае — https://gitlab.hhbb.me
, у Вас — свой).
После этого в браузере откроется окно авторизации. Вводим имя учетной записи root (либо email, указанный в файле конфигурации) и скопированный из файла пароль. После чего нажимаем клавишу Sign in («Авторизоваться»).
В принципе, вполне можно пользоваться сгенерированным паролем. Однако мы рекомендуем сменить его на новый как можно скорее.
Отключаем свободную регистрацию аккаунтов (опционально)
После авторизации у Вас откроется веб-интерфейс GitLab в Ubuntu. В верхней его части Вы увидите оповещение о том, что регистрация учетных записей открыта. То есть, любой пользователей может ввести в адресною строку URL-адрес Вашего сервера и создать себе новый аккаунт. Если Вас все устраивает — нажмите кнопку Acknowledge («Ознакомлен») под оповещением.
Конечно, такие учетные записи лишены административных прав доступа. Однако в некоторых случаях свободная регистрация может быть нежелательна. Тогда просто нажмите кнопку Turn off («Отключить») под оповещением. Нужный раздел меню настроек сервера GitLab откроется автоматически.
Просто убираем галочку из чекбокса напротив опции Sign-up enabled («Регистрация включена»).
Также по умолчанию включена и опция Require admin approval for new sign-ups («Требовать одобрения администратора для новых учетных записей»). То есть, каждую заявку на создание аккаунта пользователь с правами администратора должен рассматривать и одобрять в ручном режиме.
Вместо отключения свободной регистрации можно в поле Allowed domains for sign-ups («Разрешенные домены для регистрации») перечислить разрешенные домены email, владельцы которых смогут без каких-либо ограничений регистрировать рабочие учетные записи на Вашем сервере GitLab в Ubuntu. Например, это может быть домен почтового сервиса Вашей компании. При этом с любой другой почтой регистрация будет невозможна.
Еще ниже находится поле Denied domains for sign-ups («Запрещенные домены для регистрации»). Владельцы почтовых ящиков с любого из перечисленных здесь доменов не смогут регистрировать учетные записи на Вашем сервере. К примеру, здесь можно перечислить бесплатные сервисы email, в безопасности которых Вы не уверены.
Читайте также: Chkservice — простой способ управления модулями (юнитами, unit) Systemd в терминале.
Создаем тестовый проект (репозиторий) в GitLab в Ubuntu
Давайте попробуем создать новый проект в GitLab. Для этого возвращаемся на главную страницу веб-интерфейса сервера. После чего в верхнем правом углу экрана находим и нажимаем кнопку New project («Новый проект»).
У Вас откроется окно Create new project («Создание нового проекта»), где на выбор доступны следующие варианты:
- Create blanc project («Создать пустой проект») — создать полностью новый проект без готовой структуры;
- Crate from template («Создать проект по образцу») — создать проект, структура которого будет соответствовать ранее созданному образцу;
- Import project («Импортировать проект») — загрузить структуру и содержимое существующего проекта из внешнего источника.
Нажимаем кнопку Create blanc project («Создать пустой проект»).
Прежде всего, заполняем поле Project name («Название проекта») — вводим название test-project
.
Далее в поле Project URL («URL проекта») у Вас есть возможность настроить формат URL-адреса проекта. А именно — будет ли подставляться в адрес имя пользователя или название группы пользователей, работающих над проектом.
Еще ниже находится чекбокс Visibility level («Уровень видимости»), в котором доступны три варианта:
- Privat («Частный») — доступен только указанным конкретным зарегистрированным пользователям либо группе пользователей;
- Internal («Внутренний») — доступен всем зарегистрированным пользователям;
- Public («Публичный») — доступен без регистрации на Вашем сервере GitLab.
Поскольку этот проект тестовый — подойдет любой из вариантов. Выбираем Internal («Внутренний») и нажимаем кнопку Create project («Создать проект»). У Вас откроется окно только что созданного проекта.
Ниже на этой же странице Вы найдете раздел Add your files («Добавить Ваши файлы»).
В нем перечислены готовые команды 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 с трудоустройством!
- Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
- Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
- Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
- Проведем вечерние онлайн-лекции на нашей платформе.
- Согласуем с вами удобное время для практик.
- Если хотите индивидуальный график — обсудим и реализуем.
- Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
- Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
- отредактировать или создать с нуля резюме;
- подготовиться к техническим интервью;
- подготовиться к конкурсу на понравившуюся вакансию;
- устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.