Help:Introduction: Difference between revisions

From Svacer Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
__FORCETOC__
__FORCETOC__
<big>'''Svace History Server'''<br>
''Version 6.0.0''</big><br>
__TOC__


== Введение ==
== Введение ==
Сервер историй '''Svacer''' ('''''Svace Server''''') предназначен для хранения и обработки результатов работы статического анализатора Svace. Он разработан с целью заменить старый сервер историй, встроенный в анализатор Svace.  
Сервер историй '''Svacer''' ('''''Svace Server''''') предназначен для хранения и обработки результатов работы статического анализатора Svace. Он разработан с целью заменить старый сервер историй, встроенный в анализатор Svace.  
Допускается одновременное использование старого и нового серверов.
Допускается одновременное использование старого и нового серверов.


=== Термины ===
=== Термины ===
Line 9: Line 16:
{| class="wikitable"
{| class="wikitable"
|-
|-
| ''Project''
| ''Project''  
| Проект, подлежащий анализу. По умолчанию именем проекта считается имя директории, в которой был запущен ''svace build'' и ''svace analyze''.
| Проект, подлежащий анализу. По умолчанию именем проекта считается имя директории, в которой был запущен ''svace build'' и ''svace analyze''.
На сервере проект содержит в себе несколько '''branch''' с результатами работы анализатора
На сервере проект содержит в себе несколько '''branch''' с результатами работы анализатора
Line 35: Line 42:
| Проставление статуса маркера с опциональным добавлением комментария
| Проставление статуса маркера с опциональным добавлением комментария
|}
|}
=== Состав дистрибутива ===
{| class="wikitable"
|-
| '''bin/svacer<br>bin/svacer.exe'''
| Бинарный файл сервера и утилита для импортирования результатов. Режим работы зависит от аргументов
|-
| '''support/svace-migration/svace-migration.jar'''
| Утилита подготовки данных для импорта из старого сервера историй.
Требует JDK для запуска. Может использоваться JDK из состава дистрибутива Svace
|-
| '''extra/docker-compose*.yml''' || Docker-compose файлы для запуска БД PostgreSQL и Svacer в docker-контейнерах
|-
| '''integrations/vscode''' || Расширение для Visual Studio Code и документация на него
|}
== Зависимости ==
{| class="wikitable"
|-
| PostgreSQL
версии не ниже 10-й
| Параметры подключения определяются аргументом при запуске сервера или переменной окружения SVACER_PG_URL. По умолчанию, используется следующий connect URL:
'''postgres://svace:svace@0.0.0.0:5432/svace'''<br>
Можно использовать PostgreSQL в docker-контейнере.<br>
'''Настоятельно рекомендуем''' использовать выделенный сервер для хранения БД, особенно в production
|-
| libc.so<br>libpthread.so<br>libdl.so<br>linux-vdso.so
| Серверная часть написана на Go с CGO_ENABLED=1 ввиду необходимости читать sqlite-файлы из результатов работы анализатора Svace
|-
| Выделенная директория для хранения object storage
| Сервер использует встроенную key-value database для хранения информации об исходном коде: контент-файлов и вспомогательной информации для навигации
|-
| svace
| Для импорта данных на сервер историй требуется наличие Svace на хосте, откуда происходит импорт. Svace используется для получения информации из .svace-dir
|}
        1.4 Используемые порты
Приведены значения по умолчанию. Все значения могут быть переопределены.
3002
Используется для предоставления gRPC API.
gRPC API является внутренним и предназначен для загрузки данных на сервер
8080
Используется для предоставления REST API и web-сервера для предоставления web-UI

Revision as of 19:58, 5 December 2022


Svace History Server
Version 6.0.0


Введение

Сервер историй Svacer (Svace Server) предназначен для хранения и обработки результатов работы статического анализатора Svace. Он разработан с целью заменить старый сервер историй, встроенный в анализатор Svace. Допускается одновременное использование старого и нового серверов.


Термины

Project Проект, подлежащий анализу. По умолчанию именем проекта считается имя директории, в которой был запущен svace build и svace analyze.

На сервере проект содержит в себе несколько branch с результатами работы анализатора

Branch (ветка) Ветка в проекте с результатами работы анализатора. По умолчанию проект имеет одну ветку — master
Snapshot (снимок) Результат работы svace analyze, импортированный в промежуточное хранилище или на сервер. Содержит:
  • имя проекта;
  • имя ветки;
  • результаты анализа (предупреждения);
  • исходники, которые были включены в build, на котором производился анализ;
  • вспомогательная информация для навигации по исходникам;
  • дополнительные данные;

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

Marker (маркер, предупреждение) Предупреждение от Svace с информацией о позиции в исходном файле
Svacer Svace History Server, а также исполняемый файл, содержащий код сервера
Разметка Проставление статуса маркера с опциональным добавлением комментария


Состав дистрибутива

bin/svacer
bin/svacer.exe
Бинарный файл сервера и утилита для импортирования результатов. Режим работы зависит от аргументов
support/svace-migration/svace-migration.jar Утилита подготовки данных для импорта из старого сервера историй.

Требует JDK для запуска. Может использоваться JDK из состава дистрибутива Svace

extra/docker-compose*.yml Docker-compose файлы для запуска БД PostgreSQL и Svacer в docker-контейнерах
integrations/vscode Расширение для Visual Studio Code и документация на него


Зависимости

PostgreSQL

версии не ниже 10-й

Параметры подключения определяются аргументом при запуске сервера или переменной окружения SVACER_PG_URL. По умолчанию, используется следующий connect URL:

postgres://svace:svace@0.0.0.0:5432/svace
Можно использовать PostgreSQL в docker-контейнере.
Настоятельно рекомендуем использовать выделенный сервер для хранения БД, особенно в production

libc.so
libpthread.so
libdl.so
linux-vdso.so
Серверная часть написана на Go с CGO_ENABLED=1 ввиду необходимости читать sqlite-файлы из результатов работы анализатора Svace
Выделенная директория для хранения object storage Сервер использует встроенную key-value database для хранения информации об исходном коде: контент-файлов и вспомогательной информации для навигации
svace Для импорта данных на сервер историй требуется наличие Svace на хосте, откуда происходит импорт. Svace используется для получения информации из .svace-dir
       1.4 Используемые порты

Приведены значения по умолчанию. Все значения могут быть переопределены. 3002 Используется для предоставления gRPC API. gRPC API является внутренним и предназначен для загрузки данных на сервер 8080 Используется для предоставления REST API и web-сервера для предоставления web-UI