Руководство по установке#

В руководстве приведены инструкции по установке компонента Wiki.

Системные требования#

Настройки безопасности окружения и перечень платформенных (дополнительных внешних) продуктов, используемых для установки, настройки и контроля в конечной информационной системе (далее — ИС), выбираются клиентом при разработке конечной ИС, исходя из характера обрабатываемой в ней информации и иных требований информационной безопасности (далее — ИБ), предъявляемых к ней.

Системное программное обеспечение#

Ниже представлены категории системного программного обеспечения (далее — ПО), которые обязательны или опциональны для установки, настройки, контроля и функционирования компонента. В каждой категории перечислены все поддерживаемые продукты сторонних правообладателей. Отдельно обозначены варианты, которые рекомендует АО «СберТех» (маркировка «Рекомендовано» в столбце «Продукт, функциональная совместимость с которым подтверждена»). Клиенту необходимо выбрать один из продуктов в каждой категории, исходя из условий использования конечной ИС.

Категория ПО

Обязательность установки (да/нет)*

Наименование ПО

Версия

Продукт, функциональная совместимость с которым подтверждена**

Описание

Операционная система

Да

ОС Альт 8 СП

SP10+

Рекомендовано

Операционная система для сервера БД

Система управления базами данных (СУБД)

Да

PostgreSQL

12.7+

Рекомендовано. Правообладателем АО «СберТех» также рекомендована СУБД, основанная на PostgreSQL, – Platform V Pangolin SE, см. раздел «Платформенные зависимости»

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

Резидентная СУБД

Да

Redis server

5+

Рекомендовано

Резидентная система управления базами данных класса NoSQL

Менеджер идентификации, аутентификации и авторизации пользователей

Да

Keycloak

9.0.3+

Рекомендовано. Правообладателем АО «СберТех» также рекомендован инструмент аутентификации, основанный на Keycloak – KeyCloak.SE (KCSE) в составе продукта Platform V IAM SE (IAM), см. раздел «Платформенные зависимости»

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

Система управления версиями

Да

Git

2.33

Рекомендовано

Распределенная система управления версиями

Браузер

Да

Яндекс

19.10+

Рекомендовано

Браузер для входа в UI

Google Chrome

79.0+

Опционально

Браузер для входа в UI

Safari

10.12+

Опционально

Браузер для входа в UI

Прокси-сервер

Да

Nginx

1.16+

Рекомендовано

Необходим для проксирования запросов к клиентской части

Средство контейнеризации

Да

Docker CE

20.10.17

Рекомендовано

Инструмент для автоматизации работы с контейнерами

Сервер приложений

Да

Puma

5.3.2

Рекомендовано

Необходим для запуска приложения

Примечание:

*

  • Да — категория ПО обязательна для функционирования сервиса (это означает, что сервис не может выполнять свои основные функции без установки данной категории ПО).

  • Нет — категория ПО необязательна для функционирования сервиса (это означает, что сервис может выполнять свои основные функции без установки данной категории ПО).

**

  • Рекомендовано — рекомендованный правообладателем АО «СберТех» продукт.

  • Опционально — альтернативный по отношению к рекомендованному правообладателем АО «СберТех» продукт.

Платформенные зависимости#

Для настройки, контроля и функционирования компонента реализована интеграция с программными продуктами, правообладателем которых является АО «СберТех»:

Наименование продукта

Код

Версия продукта

Код и наименование компонента

Обязательность установки***

Описание

Аналог других производителей****

Platform V Pangolin SE

PSQ

5.1.0 или выше

PSQL Platform V Pangolin

Да

Система управления базами данных, основанная на PostgreSQL

PostgreSQL

Platform V IAM SE

IAM

1.3 или выше

KCSE KeyCloak.SE

Да

Сервис, выполняющий функции аутентификации/авторизации запросов

KeyCloak

Примечание:

***

  • Да — компонент или продукт необходим для функционирования сервиса (это означает, что сервис не может выполнять свои основные функции без установки данного компонента).

  • Нет — необязательный для функционирования сервиса компонент или продукт (это означает, что сервис может выполнять свои основные функции без установки данного компонента).

**** Рекомендуется установка программного продукта, правообладателем которого является АО «СберТех», при этом не исключена возможность (допускается правообладателем) использования аналога других производителей. Аналоги, в отношении которых продукт успешно прошел испытания и подтвердил свою работоспособность, указаны в разделе «Системное программное обеспечение».

Аппаратные требования#

В соответствии с целевой архитектурой существует следующий комплект технических средств (КТС):

  • Сервер приложений (включая Nginx):

    • ЦПУ 4 ядра;

    • ОЗУ 8Gb;

    • HDD 100Gb;

    • наличие сетевой карты.

  • СУБД:

    • ЦПУ 4 ядра;

    • ОЗУ 8Gb;

    • HDD 100Gb;

    • наличие сетевой карты.

  • REDIS:

    • ЦПУ 4 ядра;

    • ОЗУ 8Gb;

    • HDD 100Gb;

    • наличие сетевой карты.

Установка#

Примечание
Компонент включается при наличии в окружении правильного лицензионного ключа [GITLAB_LICENSE_KEYS] и токена [GITLAB_LICENSE_SECRET] для расшифровки.

Предусловие#

Для развертывания дистрибутива на сервере необходимо наличие установленных docker/docker-compose. Их можно установить с помощью следующей команды:

apt-get install docker-engine docker-compose

Процесс установки через docker-compose#

  1. Подготовьте КТС с сервером PostgreSQL/Pangolin согласно системным требованиям. Подготовьте КТС c сервером Redis.

    СУБД PostgreSQL/Pangolin необходимо использовать в standalone режиме или в сочетании с HAProxy, Patroni или подобными без настройки SSL.

    На этапе подготовки к DDL перед первым запуском необходимо создать пользователя, БД и схему.

    1. Под учетной записью суперпользователя выполните следующие команды:

      CREATE USER $user_bd WITH ENCRYPTED PASSWORD 'SecretPassword';
      CREATE DATABASE $database_name OWNER $user_bd TABLESPACE pg_default;
      
    2. Под учетной записью созданного пользователя выполните следующие команды:

      CREATE SCHEMA AUTHORIZATION $user_bd; 
      ALTER USER $user_bd SET search_path TO '$user_bd';
      CREATE EXTENSION btree_gist WITH SCHEMA $user_bd; 
      CREATE EXTENSION pg_trgm WITH SCHEMA $user_bd; 
      

      где user_bd - пользователь БД; database_name - имя БД.

  2. Скопируйте шаблон файла переменных окружения:

    cp env.template .env
    
  3. Заполните файл .env. Обратите внимание на комментарии в файле env.template.

    Примечания

    • Рекомендуется в качестве BASE_IMAGE указывать оригинальный образ на базе ОС Альт 8.

    • Значения переменных окружения GITLAB_LICENSE_KEYS и GITLAB_LICENSE_SECRET, соответствующие компонентному составу поставки, необходимо заранее уточнить у контактного лица со стороны продукта.

    • Указывая переменную окружения GITLAB_ADMIN_PASSWORD, необходимо учитывать следующие ограничения: значение должно состоять минимум из восьми символов, а также в пароле не должны использоваться часто используемые комбинации символов. На уровне кода имеется blacklist таких комбинаций. Рекомендуется устанавливать автоматически сгенерированный пароль, так как пользователь имеет доступ к важным настройкам экземпляра приложения через UI.

  4. (В первый раз или при необходимости) Выполните команду сборки образа из дистрибутива:

    docker-compose build
    
  5. Выполните команду запуска сервиса:

    docker-compose  up -d
    
  6. По истечении примерно 5 минут проверьте работу сервиса по URL http://<hostname or IP>:/<контекст из п.3> (например, http://example.com/track).

  7. Авторизуйтесь в сервисе, используя учетную запись администратора, указанную в env-переменных (см. п.3).

Проверка работоспособности#

  1. Перейдите в контейнер.

  2. Выполните проверку работоспособности сервера и его компонентов (включая Git, Redis, PostgreSQL):

    cd /home/git/gitlab
    
    sudo -u git -H bundle exec rake gitlab:env:info RAILS_ENV=production
     
    sudo -u git -H bundle exec rake gitlab:check RAILS_ENV=production
    

    В случае неработоспособности сервера или его компонентов, соответствующие данные отобразятся в выводе команды gitlab:check.

  3. Зайдите в UI под учетной записью администратора (логин и пароль для этого пользователя были указаны при установке в .env файле), создайте проект и перейдите на страницу указанного проекта. Слева отобразится боковое меню. Наличие пункта меню Вики говорит о включенном компоненте Wiki.

Откат#

Откат на предыдущую версию не предусмотрен.

Часто встречающиеся проблемы и пути их устранения#

В текущей версии типовые проблемы не выявлены.

Чек-лист валидации установки#

  1. Для проверки доступности сервисов можно перейти по ссылке: {Service_URL}/-/health. В случае успешного старта сервиса, отобразится следующее сообщение: GitLab OK.

  2. Выполните проверку работоспособности.