Тестирование непрерывной интеграции для Ruby on Rails с Jenkins

Кто-нибудь знает, как провести непрерывное интеграционное тестирование с Ruby on Rails с Jenkins?

Я последовал за Rspec для написания тестовых примеров в приложении ROR.

Мне нужно интегрировать тестовый процесс с jenkins CI.

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

Ответы

Ответ 1

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

В основном вам нужен этот камень:

https://github.com/nicksieger/ci_reporter

CI Reporter gem выведет результаты теста Test:: Unit и RSpec в виде JUnit-совместимого XML файла, который может интерпретировать Дженкинс. Я считаю, что это ключ к интеграции.

Ответ 2

Да, вы можете. Установите Jenkins, убедитесь, что Ruby установлен в вашей системе (включая RVM, bundler, mysql и все, что вам нужно).

Затем создайте задание с этими командами сборки;

#!/bin/bash
source ~/.profile
rvm use --create [email protected]_app
rvm --force gemset empty
gem install bundler --no-rdoc --no-ri
bundle install
cp config/database.yml.jenkins config/database.yml

bundle exec rake db:create:all
bundle exec rake db:migrate
bundle exec rake db:test:prepare

Для огурца

#!/bin/bash
source ~/.profile
rvm use [email protected]_app

bundle exec rake cucumber

Для RSpec

#!/bin/bash
source ~/.profile
rvm use [email protected]_app

bundle exec rake spec