Позволяет проанализировать проект на удалённом сервере. Будет доступен в svace 3.3.0.
На сервере запускается сервер анализа. На другой машине, где выполняется сборка, можно отправить задачу анализа на сервер удалённого анализа.
На машине A инициализируем svace-директорию:
svace init
Команда создаст директорию .svace-dir
, где будут храниться все данные для сервера анализа.
Затем запускаем сервер:
svace server single-start
В консоль среди прочего будет выведено
Remote analysis server started at port 55135
На машине B собираем проект:
svace init
svace build make
Теперь мы можем дать команду запустить анализ на машине A:
svace remote --host A analyze
Команда вернёт управление после того, как анализ завершится на сервере. При этом сам анализ выполняется на машине A.
Для импорта результатов на локальный сервер истории необходимо выполнить команду
svace history import
Для запуска сервера истории на локальной машине надо запустить
svace server single-start
Результаты будут доступны по адресу localhost:8060
.
Для импорта результатов на сервер Svacer необходимо выполнить команды
svacer import --svace path-to-svace/bin/svace .
svacer upload
По умолчанию результаты будут доступны по адресу localhost:8080
.
Посмотреть список выполняемых в текущий момент анализов на сервере можно с помощью браузера перейдя по ссылке:
http://A:8060/status
Где A
— сетевое имя сервера A.
Сервер ожидает подключения на порту 55135.
Этот порт можно поменять в файле .svace-dir/conf/svace.conf
(SERVER_PORT
), так же как и другие настройки сервера.
Из важных настроек — количество одновременно запускаемых анализов (SIMULTANEOUS_ANALYSIS_LIMIT
).
По умолчанию можно запустить 3 анализа.
При попытке выполнить анализов больше, чем лимит, сервер не будет запускать новую задачу до тех пор, пока предыдущие не выполнятся. При этом клиент будет ждать, когда это произойдёт.
Результаты анализа сервер помещает в директорию .svace-dir/remote-<hash>/analyze-res
.
Сервер ничего не чистит. При регулярном использовании размер директории будет расти.
В любой момент, когда не идут анализы, можно удалить директорию .svace-dir
.
Клиент отправляет на сервер хэши файлов, которые нужно проанализировать. Если они уже есть на сервере, то повторно они отправляться не будут. Поэтому передача файлов при регулярной сборке одного и того же проекта будет выполняться достаточно эффективно.
Затем на сервер выполняется команда запуска анализа переданной сборки. Помимо этого отправляются файлы настроек (settings.txt
и warn-settings.txt
).
Обычный анализ пишет результаты в директорию .svace-dir
.
Чтобы избежать путаницы при удалённом анализе, эта директория очищается на локальной машине. В конце анализа туда кладутся файлы с хэшами результата анализа и используемой сборки.