Стратегия CI для разработки встраиваемых систем - тесты на оборудовании или ручное вмешательство - PullRequest
0 голосов
/ 24 января 2020

У нас есть куча тестов, и мы реализуем CI в соответствии с потоком git, используя Jenkins.

Некоторые из этих тестов требуют аппаратного обеспечения. Однако для выполнения некоторых из этих тестов может потребоваться более 4 часов (или даже более 24 часов), и для этого требуется оборудование, на которое у нас всего 1 или 2 копии. Некоторые из них также должны быть запущены ночью.

Кроме того, для небольшого количества тестов требуется некоторое ограниченное ручное вмешательство каждые несколько часов для замены чипа.

Я знаю, что общая стратегия состоит в том, чтобы тест ведомого для аппаратных тестов. Однако, если работа занимает день или больше, каждый раз, когда что-то отправляется в запрос на извлечение, это будет непомерно дорого.

Есть ли общее решение этой проблемы? Возможен ли GitHub Flow в рамках этих ограничений, или я собираюсь требовать веток релиза, и понимание того, что master не гарантированно готов к выпуску в любой момент, так как эти тесты не будут запущены?

есть ли способ запустить указанное задание c через GitHub для запуска этих дорогих заданий, чтобы они выполнялись только при необходимости?

1 Ответ

0 голосов
/ 26 января 2020

рассмотрение вашей стратегии ветвления может быть частью решения. Я бы также пересмотрел свою стратегию тестирования, я бы выполнил небольшой набор полностью автоматизированных и быстрых тестов, например, на master, и всю партию тестов в ветке релиза.

...