• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
2013-10-05 02 Алексей Родионов. Как сделать свой Travis CI - Vagrant + KVM
 

2013-10-05 02 Алексей Родионов. Как сделать свой Travis CI - Vagrant + KVM

on

  • 278 views

 

Statistics

Views

Total Views
278
Views on SlideShare
266
Embed Views
12

Actions

Likes
1
Downloads
1
Comments
0

4 Embeds 12

http://localhost 8
http://omskit.local 2
http://saturdays.omskit.org 1
http://10.0.2.2 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    2013-10-05 02 Алексей Родионов. Как сделать свой Travis CI - Vagrant + KVM 2013-10-05 02 Алексей Родионов. Как сделать свой Travis CI - Vagrant + KVM Presentation Transcript

    • КАК СДЕЛАТЬ СВОЙTRAVIS CI VAGRANT + KVM @p0deje p0deje@gmail.com Thursday, October 3, 13
    • АЛЕКСЕЙ РОДИОНОВ • 7+ лет в тестировании • Paradev @Toptal • Code monkey @ Watir • (ex) Контрибутор @ Mozilla Thursday, October 3, 13
    • ЧТО ТАКОЕTRAVIS CI • Сервис непрерывной интеграции • Интеграция с Github • Тесты для каждого Pull Request • Интеграция с Campfire/HipChat/IRC • Изолированное окружение Thursday, October 3, 13
    • В НАЧАЛЕ • Rails, RSpec • Cucumber + Watir-WebDriver • Github, Jenkins • Specs ➜ Smoke tests ➜ Sanity tests • Ghprb • parallel_tests, Selenium Grid Thursday, October 3, 13
    • ПРОБЛЕМЫ • 1,5 тыс. спек • 2 тыс. фич • ~ 12 часов полный прогон • Глюки Selenium Grid • Shared resources (db, файлы, порты) • Масштабируемость и переносимость Thursday, October 3, 13
    • РЕШЕНИЕ • Нужно изолированное окружение • Один процесс в одном окружении • Selenium Grid Thursday, October 3, 13
    • VAGRANT • Создание виртуальных машин из basebox • Настройка машины через Puppet, Chef, Shell, etc. • VirtualBox,VMware из коробки • Плагины Thursday, October 3, 13
    • РЕАЛИЗАЦИЯ • Vagrantfile (VirtualBox) • Puppet (librarian-puppet) Thursday, October 3, 13
    • ПЛЮСЫ • Окружение легко и быстро разворачивается • Версии софта в коде • “У меня не воспроизводится” • Обновляющиеся браузеры? Thursday, October 3, 13
    • ПРОБЛЕМЫ • VirtualBox не параллелится (вообще) Thursday, October 3, 13
    • ПРОБЛЕМЫ • VirtualBox не параллелится (вообще) Thursday, October 3, 13
    • РЕШЕНИЕ • VMware • Linux KVM • Xen • etc. Thursday, October 3, 13
    • РЕШЕНИЕ • libvirt Thursday, October 3, 13
    • РЕШЕНИЕ • vagrant-libvirt • vagrant-kvm Thursday, October 3, 13
    • РЕШЕНИЕ • vagrant-libvirt • vagrant-kvm (импорт изVirtualBox) Thursday, October 3, 13
    • ПРОБЛЕМЫ • Динамические IP • NFS вVagrant далек от идеала Thursday, October 3, 13
    • РЕШЕНИЕ • Поддержка DHCP в vagrant-kvm • Поддержка exportfs вVagrant Thursday, October 3, 13
    • ПРОБЛЕМЫ • Segfaults/exceptions/crashes при параллельном создании виртуальных машин Thursday, October 3, 13
    • РЕШЕНИЕ • Не решено :) Thursday, October 3, 13
    • ПРОБЛЕМЫ • Хранение RAW дисков виртуальных машин (~ 3 ГБ) Thursday, October 3, 13
    • РЕШЕНИЕ • Поддержка qcow2 diff образов в vagrant-kvm (~ 300 МБ) Thursday, October 3, 13
    • УЛУЧШЕНИЯ • Veewee (Packer) • Сделали полную копию production в VM (os, db, locale, date, ruby, libs, etc.) Thursday, October 3, 13
    • УЛУЧШЕНИЯ • vagrant-exec для удобной работы с машиной • p0deje/display для запуска Selenium тестов Thursday, October 3, 13
    • ТЕПЕРЬ • 4 тыс. спеков • 3 тыс. фич • ~ 5 часов на полный прогон • Никаких проблем с Grid • Никаких хаков с shared resources Thursday, October 3, 13
    • ТЕПЕРЬ • 11 параллельно работающихVM • 155 виртуальных машин • Масштабируемость и переносимость • Отказоустойчивость Thursday, October 3, 13
    • • Параллельное созданиеVM (~8) • Stale NFS Error в1% билдов (who cares) НЕРЕШЕННЫЕ ПРОБЛЕМЫ Thursday, October 3, 13
    • ЧТО ДАЛЬШЕ • Кастомный сервер с изменениями для каждого Pull Request • Миграция на Xen • Миграция на EC2, DigitalOcean Thursday, October 3, 13
    • @p0deje p0deje@gmail.com СПАСИБО! Thursday, October 3, 13