serverConfig.js
module.exports = {
port: *номер порта, на котором запускается сервер*,
url: *адрес удаленного репозитория для сборки*,
}
Если сервер не смог соединиться с агентом при отправке задания на сборку, он убирает этого агента из списка активных и ищет следующего. Ответ от агента приходит уже после выполнения и отправки ее результата, поэтому, если ответ не пришел, задача считается невыполненной, и сервер снова убирает этого агента из списка активных и ищет следующего. Если следующий агент так и не найден (больше нет запущенных агентов или все заняты), сервер предупреждает об этом в консоли (или во всплывающем окне браузера, если агентов не нашлось на момент поступления данных для будущей сборки из формы).
agentConfig.js
module.exports = {
port: *номер порта, на котором запускается агент*,
hostServer: *адрес и порт сервера, например 'http://localhost:3000'*,
workDirectory: *абсолютный путь до рабочего каталога агента (!внимание, после каждой сборки каталог полностью очищается!)*
}
Если в момент регистрации агента в очереди уже есть нераспределенные задания, он сразу получает одно из них. Если агент при старте не смог соединиться с сервером, он начинает повторять запрос каждые 1000 мс. Если он не смог соединиться с сервером при отправке сборки, он не пытается отправить ее заново - возможно, эта задача уже неактуальна, поэтому он отправляет новый запрос на регистрацию и повторяет его каждые 1000 мс.