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

В руководстве приведены инструкции по установке Platform V Works::TaskTracker.

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

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

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

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

Категория ПО

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

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

Версия

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

Описание

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

Да

ОС Альт 8 СП

SP10+

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

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

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

Да

PostgreSQL

12.7+

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

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

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

Да

Redis server

5+

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

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

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

Да

Git

2.33

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

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

Браузер

Да

Яндекс

19.10+

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

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

Google Chrome

79.0+

Опционально

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

Safari

10.12+

Опционально

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

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

Да

Nginx

1.16+

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

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

Балансировщик нагрузки

Нет

HAProxy

2.0+

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

Обеспечивает высокую доступность и балансирует нагрузку для TCP и HTTP-приложений

Менеджер кластера

Нет

Patroni

2.0+

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

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

Примечание:

*

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

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

**

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

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

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

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

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

Код

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

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

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

Описание

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

Platform V Pangolin SE

PSQ

5.4

PSQL Platform V Pangolin

Да

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

PostgreSQL 11

Примечание:

***

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

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

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

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

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

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

    • ЦПУ 4 ядра;

    • ОЗУ 8Gb;

    • HDD 100Gb;

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

  • СУБД:

    • ЦПУ 4 ядра;

    • ОЗУ 8Gb;

    • HDD 100Gb;

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

  • REDIS:

    • ЦПУ 4 ядра;

    • ОЗУ 8Gb;

    • HDD 100Gb;

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

Установка#

Примечание
Компонент включается при наличии в окружении правильного лицензионного ключа [GITLAB_SECRETS_LICENSE_KEYS] и токена [GITLAB_SECRETS_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_SECRETS_LICENSE_KEYS и GITLAB_SECRETS_LICENSE_SECRET, соответствующие компонентному составу поставки, необходимо заранее уточнить у контактного лица со стороны продукта.

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

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

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

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

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

  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 под учетной записью администратора (при первом входе в пользовательский интерфейс можно будет зарегистрировать пользователя с ролью администратора), создайте проект и перейдите на страницу указанного проекта. Слева отобразится боковое меню. По составу этого меню можно определить, состав включенных компонентов. Наличие пунктов меню Задачи и/или Эпики говорит о включенном компоненте TaskTracker.

Откат#

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

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

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

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

  1. Созданы таблицы в БД.

  2. Развернут TaskTracker.

  3. Успешно выполнены действия раздела Проверка работоспособности.

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