Skip to content

AlexandraSmirnova/shri-simple-ci

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Shri-simple-ci

Простая система сборки

Запуск сервера:

cd server && npm install && npm start

Конфигурация находится в файле server/config.ts Так же можно передавать настройки в параметры командной строки при старте:

npm start <port> <host> <repo_adress>

Запуск агента:

cd server && npm install && npm start

Конфигурация находится в файле agent/config.ts Так же можно передавать настройки в параметры командной строки при старте:

npm start <port> <host> <server_url>

Реализация требований

  • Сервер должен генерировать уникальные номера сборок.

Номер каждой новой сборки вычисляется путем инкримента к номеру последней сборки

  • Сервер должен максимально утилизировать имеющихся агентов.

У каждого агента есть номер задачи, которой он занимается. При завершении задачи номер удаляется и агент считается свободным. Если не удается найти свободного агента, пользователь на странице списка сборок видит об этом предупреждение с просьбой добавить агентов.

  • Сервер должен корректно обрабатывать ситуацию, когда агент прекратил работать между сборками.

Если не удается достучатся до агента, то сервер пометит сборку как сфейлившуюся и удалит агента.

  • Сервер должен корректно обрабатывать ситуацию, когда агент прекратил работать в процессе выполнения сборки.

Если по истечении некоторого промежутка времени (по умолчанию 3 минуты) агент не резолвит сборку, то сервер считает его умершим и удаляет. Сборка помечается как сфейлившаяся.

  • Сервер должен корректно обрабатывать ситуацию, когда агенты не справляются с поступающими заявками.

Если не удается найти свободного агента, пользователь на странице списка сборок видит об этом предупреждение с просьбой добавить агентов.

  • Агент должен корректно обрабатывать ситуацию, когда при старте не смог соединиться с сервером.

Агент выводит сообщение, что не смог соединиться и прекращает свою работу.

  • Агент должен корректно обрабатывать ситуацию, когда при отправке результатов сборки не смог соединиться с сервером.

Агент выводит сообщение об ошибке в консоль и завершается. (Сервер по истечении какого-то времени удалит агента)

About

Simple CI System for SHRI-2019

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published