Я пытаюсь настроить автоматическое задание Дженкинса для запуска моих тестов Rspec перед развертыванием. Цель состоит в том, чтобы запустить тестовый пакет на удаленном сервере без баз данных времени выполнения.Тесты Jenkins Rspec жалуются на ожидающие миграции?
Я использую плагин рейк и имеют следующие команды (имейте в виду, что они оба предваряется на грабли автоматически)
db:test:prepare RAILS_ENV=test
ci:setup:rspec spec RAILS_ENV=test
Это прекрасно работает в одном из моих проектов, но другой жалуется ожидающие миграции. Мой вывод задания заключается в следующем,
[Dev portal-admin tests] $ /var/lib/jenkins/.rvm/gems/ruby-2.0.0-p353/bin/rake db:test:prepare RAILS_ENV=test
[Dev portal-admin tests] $ /var/lib/jenkins/.rvm/gems/ruby-2.0.0-p353/bin/rake ci:setup:rspec spec RAILS_ENV=test
rm -rf spec/reports
Run `rake db:migrate` to update your database then try again.
You have 16 pending migrations:
20131219204223 DeviseCreateUsers
20131219205648 DeviseInvitableAddToUsers
etc
Насколько я понимаю, db:test:prepare
должен загрузить схему базы данных из scheme.rb
, поэтому я должен быть хорошо с миграциями. Я также не понимаю, почему он жалуется ПОСЛЕ того, как я добираюсь до этапа Rspec, вместо первого теста: подготовьте шаг.
Что я здесь делаю неправильно?
У меня нет базы данных разработки на тестовой машине. Вам нужна база данных разработки для запуска тестов? –
См. Обновленный ответ. –
Спасибо за помощь, я думаю, что я сузил это до проблемы ci_reporter, а не с Rails, поэтому я создал проблему там, где есть трекер, https://github.com/nicksieger/ci_reporter/issues/ 116. –