Help:Introduction: Difference between revisions
m (change postgresql version) |
No edit summary |
||
(25 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
[[Category:Help]] | [[Category:Help]] | ||
[[:Category:Help]] | |||
__TOC__ | |||
== Введение == | |||
Сервер историй '''Svacer''' ('''''Svace Server''''') предназначен для хранения и обработки результатов работы статического анализатора Svace. Он разработан с целью заменить старый сервер историй, встроенный в анализатор Svace. | |||
Допускается одновременное использование старого и нового серверов. | |||
=== Термины === | === Термины === | ||
Line 16: | Line 13: | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
| Project | | ''Project'' | ||
| Проект, подлежащий анализу. По умолчанию именем проекта считается имя директории, в которой был запущен ''svace build'' и ''svace analyze''. | | Проект, подлежащий анализу. По умолчанию именем проекта считается имя директории, в которой был запущен ''svace build'' и ''svace analyze''. | ||
На сервере проект содержит в себе несколько | На сервере проект содержит в себе несколько '''branch''' с результатами работы анализатора | ||
|- | |- | ||
| Branch (ветка) | | ''Branch (ветка)'' | ||
| Ветка в проекте с результатами работы анализатора. По умолчанию — master | | Ветка в проекте с результатами работы анализатора. По умолчанию проект имеет одну ветку — master | ||
|- | |- | ||
| Snapshot (снимок) | | ''Snapshot (снимок)'' | ||
| Результат работы ''svace analyze'', импортированный в промежуточное хранилище или на сервер. Содержит: | | Результат работы ''svace analyze'', импортированный в промежуточное хранилище или на сервер. Содержит: | ||
* имя проекта; | * имя проекта; | ||
Line 31: | Line 28: | ||
* вспомогательная информация для навигации по исходникам; | * вспомогательная информация для навигации по исходникам; | ||
* дополнительные данные; | * дополнительные данные; | ||
Допускается | Допускается импортирование снимков без исходного кода и дополнительной информации | ||
|- | |||
| ''Marker (маркер, предупреждение)'' | |||
| Предупреждение от Svace с информацией о позиции в исходном файле | |||
|- | |- | ||
| | | ''Svacer'' | ||
| | | Svace History Server, а также исполняемый файл, содержащий код сервера | ||
|- | |- | ||
| Разметка | | ''Разметка'' | ||
| Проставление статуса маркера с опциональным добавлением комментария | | Проставление статуса маркера с опциональным добавлением комментария | ||
|} | |} | ||
=== Состав дистрибутива === | === Состав дистрибутива === | ||
Line 44: | Line 45: | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
| bin/svacer | | '''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 и документация на него | ||
| | |||
|} | |} | ||
=== Зависимости === | === Зависимости === | ||
Line 58: | Line 62: | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
| PostgreSQL версии | | 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 | | libc.so<br>libpthread.so<br>libdl.so<br>linux-vdso.so | ||
| Серверная часть написана на Go с CGO_ENABLED=1 ввиду необходимости читать sqlite-файлы из результатов работы анализатора Svace | | Серверная часть написана на Go с CGO_ENABLED=1 ввиду необходимости читать sqlite-файлы из результатов работы анализатора Svace | ||
|- | |- | ||
| | | Выделенная директория для хранения object storage | ||
| Сервер использует встроенную key-value database для хранения информации об исходном коде: контент-файлов и вспомогательной информации для навигации | | Сервер использует встроенную key-value database для хранения информации об исходном коде: контент-файлов и вспомогательной информации для навигации | ||
|- | |- | ||
| | | svace | ||
| | | Для импорта данных на сервер историй требуется наличие Svace на хосте, откуда происходит импорт. Svace используется для получения информации из .svace-dir | ||
|} | |} | ||
=== Используемые порты === | === Используемые порты === | ||
Line 78: | Line 86: | ||
|- | |- | ||
| 3002 | | 3002 | ||
| Используется для предоставления gRPC API | | Используется для предоставления gRPC API. | ||
gRPC API является внутренним и предназначен для загрузки данных на сервер | |||
|- | |- | ||
| 8080 | | 8080 | ||
| Используется для REST API и web-сервера для предоставления web-UI | | Используется для предоставления REST API и web-сервера для предоставления web-UI | ||
|} | |} | ||
[[#Top|Вверх]] | |||
Revision as of 18:46, 19 December 2022
Введение
Сервер историй Svacer (Svace Server) предназначен для хранения и обработки результатов работы статического анализатора Svace. Он разработан с целью заменить старый сервер историй, встроенный в анализатор Svace. Допускается одновременное использование старого и нового серверов.
Термины
Project | Проект, подлежащий анализу. По умолчанию именем проекта считается имя директории, в которой был запущен svace build и svace analyze.
На сервере проект содержит в себе несколько branch с результатами работы анализатора |
Branch (ветка) | Ветка в проекте с результатами работы анализатора. По умолчанию проект имеет одну ветку — master |
Snapshot (снимок) | Результат работы svace analyze, импортированный в промежуточное хранилище или на сервер. Содержит:
Допускается импортирование снимков без исходного кода и дополнительной информации |
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 |
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 |
Используемые порты
Приведены значения по умолчанию. Все значения могут быть переопределены.
3002 | Используется для предоставления gRPC API.
gRPC API является внутренним и предназначен для загрузки данных на сервер |
8080 | Используется для предоставления REST API и web-сервера для предоставления web-UI |