Подтвердить что ты не робот

Непрерывная интеграция (Хадсон/Дженкинс) и программирование R

Кто-нибудь знает способ непрерывной интеграции с R-программированием? Я знаю инструменты, такие как пакет svUnit, для выполнения модульных тестов, но кто-нибудь пытался их запустить с Хадсоном/Дженкинсом?

4b9b3361

Ответ 1

Я не вижу особых проблем. Эти вещи, как правило, имеют сценарий, поэтому можно просто

  • укажите вершину вашего репозитория
  • Через N минут после каждой проверки, перейдем к каталогам источников
  • вызывать R CMD check для каждого
  • ваш пакет должен быть настроен на использование unit test, для которого вы можете использовать
    • RUnit, который является первоначальным модульным тестированием для R; он широко используется
    • testthat, который является более новым пакетом Хэдли и используется многими его пакетами
    • svUnit от Филиппа, которого AFAIK никогда не хватало так же сильно, как два других.

Это действительно не отличается от непрерывной интеграции с скомпилированными языками. Ваш вопрос действительно о том, как выполнить модульное тестирование внутри 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.