Можно ли протестировать аппаратно-зависимый код с помощью Travis CI?

Я только что узнал о Travis CI и просмотрел некоторые из их документов. Кажется, это хорошее решение для проектов с открытым исходным кодом.

Пока я читаю через документы Travis, я сомневаюсь, смогу ли я каким-то образом подключить его к своему персональному оборудованию.

Я работаю над проектом, связанным с IoT, написанным на C/C++ и размещенным на github. Создание и публикация изображений на артефакте, на Travis CI не должно быть проблемой. Но когда дело доходит до тестирования, определенно его нельзя протестировать на их (Travis) оборудовании. Двоичные файлы должны быть помещены на мою доску для разработки (raspberry pi), а затем должны быть выполнены контрольные примеры. Как только тестовый костюм заканчивается, Travis CI должен быть уведомлен о результатах.

Тревис позволяет такую ​​функциональность? Если нет, то это было бы большим ограничением.

2 ответа

Но когда дело доходит до тестирования, определенно его нельзя протестировать на их (Travis) оборудовании

Этим утверждением вы ответили на свой вопрос. Если вы хотите использовать Travis для публичного отображения статуса теста, ваш лучший шанс - запустить тесты на месте, используя Jenkins, GitLab CI или любой другой сервер CI, а затем предложить API для Travis (например, файл с результатами теста). Все, что Трэвис будет делать, это выбирать и показывать результаты теста.

Если вы хотите управлять вещами из Travis, вы можете запускать сборки из Travis с помощью HTTP-вызова, а затем дождаться завершения удаленной сборки, прежде чем показывать результаты. Оба Jenkins и GitLab CI предлагают удаленный запуск. Однако это требует, чтобы ваши серверы CI были общедоступными, что может представлять угрозу безопасности (например, люди, запускающие безостановочные сборки).

TravisCI в первую очередь полезен для тестирования библиотек и проектов, которые можно запускать и тестировать на распространенных системах (Linux и т. Д.). Я не верю, что есть способ запустить TravisCI локально, однако MinionCI, кажется, предлагает решение для запуска CI-сервера. локально, следуя стилю, похожему на TravisCI, проверьте это здесь.

Другие вопросы по тегам