Перейти к содержанию

Обзор развертывания GitLab CE на сервере

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

Для успешного развертывания приложения необходимо наличие сервера с одной из следующих операционных систем: - Ubuntu или Debian (семейство Debian). - Red Hat, CentOS или Fedora (семейство RHEL/RPM).

Требуется наличие прав суперпользователя (root) для выполнения операций установки и конфигурации. Сервер должен иметь доступ к интернету для загрузки пакетов и ключей репозиториев.

Необходимо наличие зарегистрированного доменного имени, которое будет использоваться для доступа к приложению. В конфигурации используется шаблон домена в формате {{ prefix }}{{ server_id }}.{{ zone }}.

Структура файлов и каталогов

Основной файл конфигурации приложения расположен по пути /etc/gitlab/gitlab.rb.

Ключи репозитория для систем на базе Debian/Ubuntu размещаются в каталоге /etc/apt/keyrings/ с именем файла gitlab-ce.gpg.

Файл списка репозиториев для Debian/Ubuntu создается в каталоге /etc/apt/sources.list.d/ с именем gitlab_gitlab-ce.list.

Процесс установки приложения

Установка выполняется через официальные репозитории разработчика. Процесс различается в зависимости от семейства операционной системы.

Для систем на базе Debian и Ubuntu: 1. Устанавливаются предварительные пакеты: curl, gnupg, ca-certificates, apt-transport-https, dnsutils. 2. Добавляется ключ репозитория GitLab CE в каталог ключей APT. 3. Создается файл источника репозитория, указывающий на официальный репозиторий GitLab. 4. Обновляется кэш пакетов. 5. Устанавливается пакет gitlab-ce через менеджер пакетов apt.

Для систем на базе RHEL (Red Hat, CentOS и аналоги): 1. Устанавливаются пакеты bind-utils и curl. 2. Служба брандмауэра firewalld останавливается и отключается от автозагрузки. 3. Запускается скрипт установки репозитория от разработчика через команду curl. 4. Очищается кэш пакетов и выполняется обновление системы. 5. Устанавливается пакет gitlab-ce через менеджер пакетов yum.

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

После установки производится автоматическая модификация файла конфигурации /etc/gitlab/gitlab.rb. Вносятся следующие изменения:

  • Параметр external_url устанавливается в значение https://{{ prefix }}{{ server_id }}.{{ zone }}.
  • Параметр gitlab_rails['initial_root_password'] устанавливается в значение пароля, переданного в процессе развертывания.
  • Параметр letsencrypt['auto_renew'] устанавливается в значение true для автоматического обновления SSL-сертификатов.

После изменения конфигурации выполняется команда gitlab-ctl reconfigure для применения всех настроек.

Права доступа и безопасность

В процессе развертывания для систем на базе RHEL служба firewalld принудительно останавливается и отключается от автозагрузки.

Для систем на базе Debian/Ubuntu в процессе установки не производится явных изменений в настройках брандмауэра, однако устанавливается пакет dnsutils для работы с сетевыми запросами.

SSL-сертификаты настраиваются через встроенный механизм Let's Encrypt с включенной функцией автоматического продления.

Запуск, остановка и обновление

Управление сервисом осуществляется через утилиту gitlab-ctl.

Для применения изменений конфигурации и запуска всех компонентов используется команда:

gitlab-ctl reconfigure

Данная команда также запускает все необходимые службы приложения после установки или обновления конфигурации.

question_mark
Я могу вам чем-то помочь?
question_mark
ИИ Помощник ×