2014-01-30 2 views
0

Я пытаюсь настроить автоматическое задание Дженкинса для запуска моих тестов 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, вместо первого теста: подготовьте шаг.

Что я здесь делаю неправильно?

ответ

1

Я считаю, что ваша первая задача рейка, db:test:prepare, загрузила базу данных из существующего файла schema.rb без возражений, так как она не требует от текущих потоков.

Я подозреваю, что ваша следующая ci:setup:rspec задача рейка имеет зависимость от test:prepare, которая имеет зависимость от db:abort_if_pending_migrations, что привело к выходу из строя.

Для Rails 4, по крайней мере, см. activerecord-4.0.0/lib/active_record/railties/databases.rake в каталоге ваших драгоценных камней для получения подробной информации об этих определениях рейк-задач.

+0

У меня нет базы данных разработки на тестовой машине. Вам нужна база данных разработки для запуска тестов? –

+0

См. Обновленный ответ. –

+0

Спасибо за помощь, я думаю, что я сузил это до проблемы ci_reporter, а не с Rails, поэтому я создал проблему там, где есть трекер, https://github.com/nicksieger/ci_reporter/issues/ 116. –

Смежные вопросы