Pull to refresh

Как присоединить свой Ruby-проект к Travis и приготовить Мартини за 15 минут

Reading time3 min
Views2.6K
Original author: Paolo "Nusco" Perrotta
image
Налицо тенденция, что каждый проект на Ruby присоединяется к Travis. Travis — очень простая, опенсурсная система непрерывной интеграции. Нам обычно лень подключать все свои проекты к автоматическому тестированию билдов. Travis позволяет сделать это за считанные минуты.

Это пошаговая инструкция, как присоединить свой проект к Travis и приготовить вкуснейший коктейль с Мартини примерно за 15 минут. Следует заметить, что на приготовление Мартини уйдет минут пять, так что часть про Travis займет 10 минут вашей жизни.



Убедимся, что у нашего проекта есть все, что нужно (2 минуты)


Для присоединения к Travis, проекту необходимы три предпосылки:
  • Это ruby-проект на GitHub.
  • Он использует Bundler для управления гемами. (Фактически, это не ограничение, но сильно облегчает настройку для Travis.)
  • Тесты для проекта могут быть запущены простой командой. Обычно это команда rake, но другие команды (скажем, bundle exec rspec spec) тоже замечательны.

Необходимо, чтобы ваш проект можно было протестировать на новой машине, просто выполнив bundle install перед командой тестирования. Если настройка более сложная, придется дополнительно дописывать конфиги для Travis. В любом случае, упрощение установки вашего проекта — хорошая идея, независимо от того, будете ли использовать Travis или нет.

Я исхожу из того, что ваш проект отвечает всем трем предпосылкам, и что тесты могут быть запущены с помощью bundle exec rake test.

Создадим конфигурационный файл Travis (3 минуты)


Создайте файл .travis.yml в корне проекта. Вот на что похож мой:

    rvm:           # перечень всех версий Ruby, на которых хотите протестировать
      - 1.9.3
      - jruby
      - rbx
    script: "bundle exec rake test" # команда для запуска тестов


Все настройки имеют рациональные значения по умолчанию, поэтому ваша конфигурация может быть еще проще. Например, если опустить свойство script, Travis будет использовать bundle exec rake, или просто rake, если не используется Bundler. Более подробно — в документации Travis.

Активируем проект на Travis (2 минуты)


Идем на travis-ci.org и авторизуемся с помощью учетной записи GitHub. Предоставляем Travis доступ чтения/записи на ваш GitHub. Ваш собственный токен Travis находится на странице профиля.

image

На самом деле, пока не заморачивайтесь по поводу токена — но раз уж вы на странице профиля, щелкните по переключателю проекта, который будет тестироваться на Travis.

Запускаем первый билд (3 минуты)


Отправьте изменения в свой репозиторий git (убедитесь, что закоммитили файл .travis.yml), затем отправляйтесь на главную Travis, откиньтесь на спинку кресла и наблюдайте, как Travis добавляет ваш проект в очередь билдов, устанавливает bundle и запускает тесты. Когда билд выполнится, проверьте почту, там вы увидите любовное послание от Travis — и поздравление, что все зеленое (ну или красное)!

Если интересно...


Зачем Travis`у нужен доступ для чтения на ваш аккаунт GitHub? Затем, что Travis автоматически конфигурирует GitHub уведомлять его о том, что вы пушите в проект. Если хотите — проверьте: на странице администрирования проекта в GitHub — Service Hooks — нажмите на хук Travis. Конфигурация будет выглядеть так:

image

Если нажмете Test Hook, Travis запланирует билд прямо сейчас.

Готовим Мартини (5 минут)


image
Заполните замороженный коктейльный бокал холодным джином, добавьте немного вермута и перемешайте. Украсьте оливкой.

(Если торопитесь, можете совместить этот шаг с предыдущим, что сэкономит вам три минуты, пока Travis занят билдом вашего проекта)

Пьем Мартини (дополнительное время)


Я не думаю, что здесь нужна моя помощь. Найдите хорошую компанию и развлекайтесь. Но не пейте много!
Tags:
Hubs:
Total votes 43: ↑38 and ↓5+33
Comments16

Articles