Кто-нибудь знает способ непрерывной интеграции с R-программированием? Я знаю инструменты, такие как пакет svUnit, для выполнения модульных тестов, но кто-нибудь пытался их запустить с Хадсоном/Дженкинсом?
Непрерывная интеграция (Хадсон/Дженкинс) и программирование R
Ответ 1
Я не вижу особых проблем. Эти вещи, как правило, имеют сценарий, поэтому можно просто
- укажите вершину вашего репозитория
- Через N минут после каждой проверки, перейдем к каталогам источников
- вызывать
R CMD check
для каждого - ваш пакет должен быть настроен на использование unit test, для которого вы можете использовать
Это действительно не отличается от непрерывной интеграции с скомпилированными языками. Ваш вопрос действительно о том, как выполнить модульное тестирование внутри R, и этот вопрос был рассмотрен ранее.
Ответ 2
в офисе мы использовали Хадсона/Дженкинса довольно долгое время. Я внесла вклад интеграцию svUnit в Jenkins, поэтому я настоятельно рекомендую вам использовать svUnit, прежде чем пытаться что-либо еще.
посмотрим на две поддерживаемые мной библиотеки: logging и delftfews или при попытке следовать zoo и перераспределить его на github.
Недавно я не занимался домашним хозяйством, поэтому три сценария (в zoo, logging, delftfews) все немного отличаются. то в моей версии зоопарка остановится, если какой-либо тест не удастся. это практично, когда вы запускаете R CMD check
, но, вероятно, не очень хорошая идея при непрерывной интеграции.
Ответ 3
Хадсон/Дженкинс поддерживает запуск сценариев bash. Я думаю, что вы можете использовать это как вход в свой R-мир. В R простой способ сохранить результат - использовать sink ( "toYourFile.txt" ), а затем использовать функцию отображения результатов CI, чтобы показать toYourFile.txt.