Если вы хотите развернуть собственную платформу DevOps для управления кодом, CI/CD и автоматизации, GitLab — отличный выбор. В этой статье разберём установку и базовую настройку GitLab на Rocky Linux 10.

Подготовка сервера

Перед установкой GitLab нужно подготовить систему.

1. Настройка времени

Устанавливаем московский часовой пояс и настраиваем синхронизацию времени:

Установка часового пояса
timedatectl set-timezone Europe/Moscow

Установка и настройка службы времени

dnf install chrony -y
systemctl enable chronyd --now

2. Открытие портов в firewalld

GitLab требует доступ к портам 80 (HTTP) и 443 (HTTPS):

firewall-cmd --permanent --add-service={http,https}
firewall-cmd --reload

3. Установка необходимых компонентов

Устанавливаем базовые утилиты для работы:

dnf install curl policycoreutils -y

 

Установка GitLab

Выбор редакции

GitLab предлагает две редакции:

  • GitLab Community Edition (CE) — бесплатная версия с открытым исходным кодом
  • GitLab Enterprise Edition (EE) — платная версия с расширенными функциями

Установка репозитория

Для Community Edition:

curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash

Для Enterprise Edition:

curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh | sudo bash

Установка GitLab

После добавления репозитория устанавливаем сам GitLab:

Для CE:

dnf install gitlab-ce -y

Для EE:

dnf install gitlab-ee -y

Если установка прошла успешно, вы увидите ASCII-арт с логотипом GitLab.

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

Настройка внешнего URL

Открываем конфигурационный файл:

vi /etc/gitlab/gitlab.rb

Находим и изменяем параметр external_url:

external_url 'http://ваш-домен-или-ip'

Применяем конфигурацию:

gitlab-ctl reconfigure

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

Первый вход в GitLab

Получение пароля root

При первой установке GitLab генерирует случайный пароль для пользователя root:

cat /etc/gitlab/initial_root_password | grep 'Password:

Вход в веб-интерфейс

  1. Откройте браузер и перейдите по адресу, указанному в external_url
  2. Введите логин root и пароль из файла
  3. Сразу же измените пароль на свой

Настройка русского интерфейса

GitLab поддерживает множество языков, включая русский:

  1. Нажмите на аватар в правом верхнем углу → Settings (Настройки)
  2. В левом меню выберите Preferences (Настройки)
  3. В разделе Localization (Локализация):
    • Language (Язык): Русский
    • First day of week (Первый день недели): Понедельник
  4. Сохраните изменения и обновите страницу

Создание и использование репозитория

Создание проекта через веб-интерфейс

  1. На главной странице нажмите Новый проект
  2. Заполните:
    • Название проекта: Test
    • URL проекта: оставьте по умолчанию
    • Уровень доступа: Приватный
  3. Нажмите Создать проект

Работа с Git из командной строки

Установите Git на клиентской машине:

Для Rocky/CentOS/RHEL:

dnf install git -y

Для Debian/Ubuntu:

apt install git -y

Работа с репозиторием:

Клонирование репозитория
git clone http://ваш-сервер/root/test.git
cd test

Создание и добавление файлов
echo "Тестовый файл" > testfile.txt
git add .
git commit -m "Добавлен тестовый файл"

Отправка изменений
git push origin main

Настройка HTTPS с Let’s Encrypt

Для защиты передаваемых данных настроим SSL:

  1. Откройте конфигурационный файл: vi /etc/gitlab/gitlab.rb
  2. Измените external_url: external_url 'https://ваш-домен'
  3. Добавьте настройки Let’s Encrypt: letsencrypt['enable'] = true
    letsencrypt['auto_renew'] = true
    letsencrypt['auto_renew_hour'] = 2
    letsencrypt['auto_renew_minute'] = 30
    letsencrypt['auto_renew_day_of_month'] = "*/7"
  4. Примените изменения: gitlab-ctl reconfigure

Если возникают проблемы с получением сертификата:

gitlab-ctl renew-le-certs

Настройка отправки почты

Внешний SMTP-сервер

В файле /etc/gitlab/gitlab.rb настройте:

gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.ваш-провайдер.com"
gitlab_rails['smtp_port'] = 587
gitlab_rails['smtp_user_name'] = "ваш-email@домен.ru"
gitlab_rails['smtp_password'] = "ваш-пароль"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true

Настройки отправителя
gitlab_rails['gitlab_email_from'] = 'gitlab@ваш-домен.ru'
gitlab_rails['gitlab_email_display_name'] = 'Ваш GitLab'

Примените настройки:

gitlab-ctl reconfigure

Сброс пароля root

Если забыли пароль администратора:

Запуск консоли GitLab
gitlab-rails console -e production

В консоли выполните:
user = User.where(id: 1).first
user.password = 'новый-пароль'
user.password_confirmation = 'новый-пароль'
user.save!

От root

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

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