Upgrade to Pro — share decks privately, control downloads, hide ads and more …

How to make your own Travis CI: Vagrant + KVM

How to make your own Travis CI: Vagrant + KVM

Talk from OmskIT 05/10/2013 about creating your own Travis-inspired CI using Vagrant and Linux KVM (Russian)

Avatar for Alex Rodionov

Alex Rodionov

October 05, 2013
Tweet

More Decks by Alex Rodionov

Other Decks in Technology

Transcript

  1. АЛЕКСЕЙ РОДИОНОВ • 7+ лет в тестировании • Paradev @

    Toptal • Code monkey @ Watir • (ex) Контрибутор @ Mozilla Thursday, October 3, 13
  2. ЧТО ТАКОЕ TRAVIS CI • Сервис непрерывной интеграции • Интеграция

    с Github • Тесты для каждого Pull Request • Интеграция с Campfire/HipChat/IRC • Изолированное окружение Thursday, October 3, 13
  3. В НАЧАЛЕ • Rails, RSpec • Cucumber + Watir-WebDriver •

    Github, Jenkins • Specs ➜ Smoke tests ➜ Sanity tests • Ghprb • parallel_tests, Selenium Grid Thursday, October 3, 13
  4. ПРОБЛЕМЫ • 1,5 тыс. спек • 2 тыс. фич •

    ~ 12 часов полный прогон • Глюки Selenium Grid • Shared resources (db, файлы, порты) • Масштабируемость и переносимость Thursday, October 3, 13
  5. VAGRANT • Создание виртуальных машин из basebox • Настройка машины

    через Puppet, Chef, Shell, etc. • VirtualBox, VMware из коробки • Плагины Thursday, October 3, 13
  6. ПЛЮСЫ • Окружение легко и быстро разворачивается • Версии софта

    в коде • “У меня не воспроизводится” • Обновляющиеся браузеры? Thursday, October 3, 13
  7. УЛУЧШЕНИЯ • Veewee (Packer) • Сделали полную копию production в

    VM (os, db, locale, date, ruby, libs, etc.) Thursday, October 3, 13
  8. ТЕПЕРЬ • 4 тыс. спеков • 3 тыс. фич •

    ~ 5 часов на полный прогон • Никаких проблем с Grid • Никаких хаков с shared resources Thursday, October 3, 13
  9. ТЕПЕРЬ • 11 параллельно работающих VM • 155 виртуальных машин

    • Масштабируемость и переносимость • Отказоустойчивость Thursday, October 3, 13
  10. • Параллельное создание VM (~8) • Stale NFS Error в1%

    билдов (who cares) НЕРЕШЕННЫЕ ПРОБЛЕМЫ Thursday, October 3, 13
  11. ЧТО ДАЛЬШЕ • Кастомный сервер с изменениями для каждого Pull

    Request • Миграция на Xen • Миграция на EC2, DigitalOcean Thursday, October 3, 13