SlideShare a Scribd company logo
1 of 21
Download to read offline
Continuous integration 
для JavaScript проектов 
Андрей Кучеренко, EPAM Systems
CI - это...
Преимущества 
● Быстрое выявление и решение проблем 
● Постоянный запуск тестов 
● Всегда есть версия для демо или 
тестирования 
● Короткий цикл разработки
Стадии CI для JS 
● “Скопируй свои файлики, картинки и что 
там у тебя еще, к нам в папку” 
● “У нас все билдится, но мы пока не пишем 
тесты” 
● “У нас все есть, на CI запускаются тесты” 
● “Наш CI делает деплой, если билд не 
упал”
Проблемы при использовании CI 
Нечего интегрировать 
Не уделяется внимание CI 
CI не информативен 
CI работает медленно 
i
Red > Green > Refactor
i
Build Breakers
Build Breakers
Инструменты
Hardware layer i
npm & npmEnterprise & sinopia 
Lots of companies using Node.js love the "many small 
modules" pattern that is part of the Node culture
Headless browsers
Lineman.js
Broken Window Theory
?

More Related Content

What's hot

Developmentmanage3.0
Developmentmanage3.0Developmentmanage3.0
Developmentmanage3.0WRider
 
How we built continuous delivery
How we built continuous deliveryHow we built continuous delivery
How we built continuous deliveryAlik Kurdyukov
 
как инженерные практики помогают экономить бизнесу
как инженерные практики помогают экономить бизнесукак инженерные практики помогают экономить бизнесу
как инженерные практики помогают экономить бизнесуAndrey Rebrov
 
TechLeads meetup: Макс Лапшин, Erlyvideo
TechLeads meetup: Макс Лапшин, ErlyvideoTechLeads meetup: Макс Лапшин, Erlyvideo
TechLeads meetup: Макс Лапшин, ErlyvideoBadoo Development
 
Мобильный веб: назад в будущее
Мобильный веб: назад в будущееМобильный веб: назад в будущее
Мобильный веб: назад в будущееBadoo Development
 
Денис Тучин - Типичные проблемы ретроспектив (Lean Coffee, 2016.03.11)
Денис Тучин - Типичные проблемы ретроспектив (Lean Coffee, 2016.03.11)Денис Тучин - Типичные проблемы ретроспектив (Lean Coffee, 2016.03.11)
Денис Тучин - Типичные проблемы ретроспектив (Lean Coffee, 2016.03.11)Denis Tuchin
 
Алексей Рыбак (Badoo)
Алексей Рыбак (Badoo)Алексей Рыбак (Badoo)
Алексей Рыбак (Badoo)Ontico
 
AgileDays'14 - современная разработка под iOS
AgileDays'14 - современная разработка под iOSAgileDays'14 - современная разработка под iOS
AgileDays'14 - современная разработка под iOSAnton Katkov
 
Константин Назаров – Распараллеливание сборки Parallels Desktop для Mac
Константин Назаров – Распараллеливание сборки Parallels Desktop для MacКонстантин Назаров – Распараллеливание сборки Parallels Desktop для Mac
Константин Назаров – Распараллеливание сборки Parallels Desktop для Mac404fest
 
DevOps от и до - что, зачем и почему
DevOps от и до - что, зачем и почемуDevOps от и до - что, зачем и почему
DevOps от и до - что, зачем и почемуAndrey Rebrov
 
Learningapps: больше чем просто игры
Learningapps: больше чем просто игрыLearningapps: больше чем просто игры
Learningapps: больше чем просто игрыАнатолий Шперх
 
Как проекты приходят к DevOps?
Как проекты приходят к DevOps?Как проекты приходят к DevOps?
Как проекты приходят к DevOps?SQALab
 
KPI тестировщиков - особенности и проблемы
KPI тестировщиков - особенности и проблемыKPI тестировщиков - особенности и проблемы
KPI тестировщиков - особенности и проблемыRina Uzhevko
 
Free Desktop QA Engineers: implement automation testing
Free Desktop QA Engineers: implement automation testingFree Desktop QA Engineers: implement automation testing
Free Desktop QA Engineers: implement automation testingAlexandr Zinovyev
 
Highload в ВУЗе: идеализм, расчетливый менеджмент или пустые надежды
Highload в ВУЗе: идеализм, расчетливый менеджмент или пустые надеждыHighload в ВУЗе: идеализм, расчетливый менеджмент или пустые надежды
Highload в ВУЗе: идеализм, расчетливый менеджмент или пустые надеждыArtyom Kalichkin
 
О фреймворках Backend conf 2016
О фреймворках Backend conf 2016О фреймворках Backend conf 2016
О фреймворках Backend conf 2016Roman Ivliev
 
Денис Тучин - Как внедрить Agile, чтобы никто не заметил
Денис Тучин - Как внедрить Agile, чтобы никто не заметилДенис Тучин - Как внедрить Agile, чтобы никто не заметил
Денис Тучин - Как внедрить Agile, чтобы никто не заметилDenis Tuchin
 
Александр Курдюков. Внедрение continuous delivery для гетерогенных поставок.
Александр Курдюков. Внедрение continuous delivery для гетерогенных поставок.Александр Курдюков. Внедрение continuous delivery для гетерогенных поставок.
Александр Курдюков. Внедрение continuous delivery для гетерогенных поставок.ScrumTrek
 
Частые ошибки при разработке фронтенда | Odessa Frontend Meetup #17
Частые ошибки при разработке фронтенда | Odessa Frontend Meetup #17Частые ошибки при разработке фронтенда | Odessa Frontend Meetup #17
Частые ошибки при разработке фронтенда | Odessa Frontend Meetup #17OdessaFrontend
 

What's hot (20)

Developmentmanage3.0
Developmentmanage3.0Developmentmanage3.0
Developmentmanage3.0
 
How we built continuous delivery
How we built continuous deliveryHow we built continuous delivery
How we built continuous delivery
 
Maybe some mock_true
Maybe some mock_trueMaybe some mock_true
Maybe some mock_true
 
как инженерные практики помогают экономить бизнесу
как инженерные практики помогают экономить бизнесукак инженерные практики помогают экономить бизнесу
как инженерные практики помогают экономить бизнесу
 
TechLeads meetup: Макс Лапшин, Erlyvideo
TechLeads meetup: Макс Лапшин, ErlyvideoTechLeads meetup: Макс Лапшин, Erlyvideo
TechLeads meetup: Макс Лапшин, Erlyvideo
 
Мобильный веб: назад в будущее
Мобильный веб: назад в будущееМобильный веб: назад в будущее
Мобильный веб: назад в будущее
 
Денис Тучин - Типичные проблемы ретроспектив (Lean Coffee, 2016.03.11)
Денис Тучин - Типичные проблемы ретроспектив (Lean Coffee, 2016.03.11)Денис Тучин - Типичные проблемы ретроспектив (Lean Coffee, 2016.03.11)
Денис Тучин - Типичные проблемы ретроспектив (Lean Coffee, 2016.03.11)
 
Алексей Рыбак (Badoo)
Алексей Рыбак (Badoo)Алексей Рыбак (Badoo)
Алексей Рыбак (Badoo)
 
AgileDays'14 - современная разработка под iOS
AgileDays'14 - современная разработка под iOSAgileDays'14 - современная разработка под iOS
AgileDays'14 - современная разработка под iOS
 
Константин Назаров – Распараллеливание сборки Parallels Desktop для Mac
Константин Назаров – Распараллеливание сборки Parallels Desktop для MacКонстантин Назаров – Распараллеливание сборки Parallels Desktop для Mac
Константин Назаров – Распараллеливание сборки Parallels Desktop для Mac
 
DevOps от и до - что, зачем и почему
DevOps от и до - что, зачем и почемуDevOps от и до - что, зачем и почему
DevOps от и до - что, зачем и почему
 
Learningapps: больше чем просто игры
Learningapps: больше чем просто игрыLearningapps: больше чем просто игры
Learningapps: больше чем просто игры
 
Как проекты приходят к DevOps?
Как проекты приходят к DevOps?Как проекты приходят к DevOps?
Как проекты приходят к DevOps?
 
KPI тестировщиков - особенности и проблемы
KPI тестировщиков - особенности и проблемыKPI тестировщиков - особенности и проблемы
KPI тестировщиков - особенности и проблемы
 
Free Desktop QA Engineers: implement automation testing
Free Desktop QA Engineers: implement automation testingFree Desktop QA Engineers: implement automation testing
Free Desktop QA Engineers: implement automation testing
 
Highload в ВУЗе: идеализм, расчетливый менеджмент или пустые надежды
Highload в ВУЗе: идеализм, расчетливый менеджмент или пустые надеждыHighload в ВУЗе: идеализм, расчетливый менеджмент или пустые надежды
Highload в ВУЗе: идеализм, расчетливый менеджмент или пустые надежды
 
О фреймворках Backend conf 2016
О фреймворках Backend conf 2016О фреймворках Backend conf 2016
О фреймворках Backend conf 2016
 
Денис Тучин - Как внедрить Agile, чтобы никто не заметил
Денис Тучин - Как внедрить Agile, чтобы никто не заметилДенис Тучин - Как внедрить Agile, чтобы никто не заметил
Денис Тучин - Как внедрить Agile, чтобы никто не заметил
 
Александр Курдюков. Внедрение continuous delivery для гетерогенных поставок.
Александр Курдюков. Внедрение continuous delivery для гетерогенных поставок.Александр Курдюков. Внедрение continuous delivery для гетерогенных поставок.
Александр Курдюков. Внедрение continuous delivery для гетерогенных поставок.
 
Частые ошибки при разработке фронтенда | Odessa Frontend Meetup #17
Частые ошибки при разработке фронтенда | Odessa Frontend Meetup #17Частые ошибки при разработке фронтенда | Odessa Frontend Meetup #17
Частые ошибки при разработке фронтенда | Odessa Frontend Meetup #17
 

Similar to Continuous integration for JavaScript projects

AgileCamp’11 Новосибирск - Continuous Integration (CI)
AgileCamp’11 Новосибирск - Continuous Integration (CI)AgileCamp’11 Новосибирск - Continuous Integration (CI)
AgileCamp’11 Новосибирск - Continuous Integration (CI)Anton Katkov
 
Тестирование весна 2013 лекция 5
Тестирование весна 2013 лекция 5Тестирование весна 2013 лекция 5
Тестирование весна 2013 лекция 5Technopark
 
Contineous Integration by Надежда Кныш
Contineous Integration by Надежда КнышContineous Integration by Надежда Кныш
Contineous Integration by Надежда КнышQA Club Minsk
 
Continuous Integration для QA
Continuous Integration для QAContinuous Integration для QA
Continuous Integration для QAIvan Kolodyazhny
 
Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...
Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...
Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...HappyDev
 
Анти шаблоны непрерывной интеграции
Анти шаблоны непрерывной интеграцииАнти шаблоны непрерывной интеграции
Анти шаблоны непрерывной интеграцииSQALab
 
SoapUI one key to all doors
SoapUI one key to all doorsSoapUI one key to all doors
SoapUI one key to all doorsYegor Maksymchuk
 
Continuous Integration для тестировщиков
Continuous Integration для тестировщиковContinuous Integration для тестировщиков
Continuous Integration для тестировщиковUladzimir Kryvenka
 
Continious integration-Automated Testing-Solid-Agile
Continious integration-Automated Testing-Solid-AgileContinious integration-Automated Testing-Solid-Agile
Continious integration-Automated Testing-Solid-AgileKairat Yussupov
 
Обязательные практики Agile-проекта и правило ППП
Обязательные практики Agile-проекта и правило ПППОбязательные практики Agile-проекта и правило ППП
Обязательные практики Agile-проекта и правило ПППPavel Gabriel
 
Инструменты разные нужны, инструменты разные важны
Инструменты разные нужны, инструменты разные важныИнструменты разные нужны, инструменты разные важны
Инструменты разные нужны, инструменты разные важныRoman Dvornov
 
Image-based automation
Image-based automationImage-based automation
Image-based automationVitali Shulha
 
Автоматизация с помощью скриншотов. Как научить скрипт видеть графический инт...
Автоматизация с помощью скриншотов. Как научить скрипт видеть графический инт...Автоматизация с помощью скриншотов. Как научить скрипт видеть графический инт...
Автоматизация с помощью скриншотов. Как научить скрипт видеть графический инт...SQALab
 
Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)
Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)
Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)Ontico
 
CodeFest 2011. Андреев C. — Эффективные методики автоматизированного тестиров...
CodeFest 2011. Андреев C. — Эффективные методики автоматизированного тестиров...CodeFest 2011. Андреев C. — Эффективные методики автоматизированного тестиров...
CodeFest 2011. Андреев C. — Эффективные методики автоматизированного тестиров...CodeFest
 
DevOps в реальном времени
DevOps в реальном времениDevOps в реальном времени
DevOps в реальном времениAndriy Samilyak
 
Continuous Deployment (in Russian)
Continuous Deployment  (in Russian)Continuous Deployment  (in Russian)
Continuous Deployment (in Russian)Smartling
 
Тестирование осень 2013 лекция 5
Тестирование осень 2013 лекция 5 Тестирование осень 2013 лекция 5
Тестирование осень 2013 лекция 5 Technopark
 

Similar to Continuous integration for JavaScript projects (20)

AgileCamp’11 Новосибирск - Continuous Integration (CI)
AgileCamp’11 Новосибирск - Continuous Integration (CI)AgileCamp’11 Новосибирск - Continuous Integration (CI)
AgileCamp’11 Новосибирск - Continuous Integration (CI)
 
Wgforge CI/CD
Wgforge CI/CDWgforge CI/CD
Wgforge CI/CD
 
Тестирование весна 2013 лекция 5
Тестирование весна 2013 лекция 5Тестирование весна 2013 лекция 5
Тестирование весна 2013 лекция 5
 
Contineous Integration by Надежда Кныш
Contineous Integration by Надежда КнышContineous Integration by Надежда Кныш
Contineous Integration by Надежда Кныш
 
Continuous Integration для QA
Continuous Integration для QAContinuous Integration для QA
Continuous Integration для QA
 
Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...
Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...
Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...
 
Анти шаблоны непрерывной интеграции
Анти шаблоны непрерывной интеграцииАнти шаблоны непрерывной интеграции
Анти шаблоны непрерывной интеграции
 
SoapUI one key to all doors
SoapUI one key to all doorsSoapUI one key to all doors
SoapUI one key to all doors
 
Continuous Integration для тестировщиков
Continuous Integration для тестировщиковContinuous Integration для тестировщиков
Continuous Integration для тестировщиков
 
Continious integration-Automated Testing-Solid-Agile
Continious integration-Automated Testing-Solid-AgileContinious integration-Automated Testing-Solid-Agile
Continious integration-Automated Testing-Solid-Agile
 
Обязательные практики Agile-проекта и правило ППП
Обязательные практики Agile-проекта и правило ПППОбязательные практики Agile-проекта и правило ППП
Обязательные практики Agile-проекта и правило ППП
 
Инструменты разные нужны, инструменты разные важны
Инструменты разные нужны, инструменты разные важныИнструменты разные нужны, инструменты разные важны
Инструменты разные нужны, инструменты разные важны
 
Image-based automation
Image-based automationImage-based automation
Image-based automation
 
Автоматизация с помощью скриншотов. Как научить скрипт видеть графический инт...
Автоматизация с помощью скриншотов. Как научить скрипт видеть графический инт...Автоматизация с помощью скриншотов. Как научить скрипт видеть графический инт...
Автоматизация с помощью скриншотов. Как научить скрипт видеть графический инт...
 
Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)
Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)
Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)
 
CodeFest 2011. Андреев C. — Эффективные методики автоматизированного тестиров...
CodeFest 2011. Андреев C. — Эффективные методики автоматизированного тестиров...CodeFest 2011. Андреев C. — Эффективные методики автоматизированного тестиров...
CodeFest 2011. Андреев C. — Эффективные методики автоматизированного тестиров...
 
DevOps в реальном времени
DevOps в реальном времениDevOps в реальном времени
DevOps в реальном времени
 
A.pleshkov
A.pleshkovA.pleshkov
A.pleshkov
 
Continuous Deployment (in Russian)
Continuous Deployment  (in Russian)Continuous Deployment  (in Russian)
Continuous Deployment (in Russian)
 
Тестирование осень 2013 лекция 5
Тестирование осень 2013 лекция 5 Тестирование осень 2013 лекция 5
Тестирование осень 2013 лекция 5
 

More from EPAM

JavaScript. Code Quality.
JavaScript. Code Quality.JavaScript. Code Quality.
JavaScript. Code Quality.EPAM
 
Visualization of Big Data in Web Apps
Visualization of Big Data in Web AppsVisualization of Big Data in Web Apps
Visualization of Big Data in Web AppsEPAM
 
Object Oriented Concepts in Real Projects
Object Oriented Concepts in Real ProjectsObject Oriented Concepts in Real Projects
Object Oriented Concepts in Real ProjectsEPAM
 
Modern web applications infrastructure
Modern web applications infrastructureModern web applications infrastructure
Modern web applications infrastructureEPAM
 
Reactive Extensions: classic Observer in .NET
Reactive Extensions: classic Observer in .NETReactive Extensions: classic Observer in .NET
Reactive Extensions: classic Observer in .NETEPAM
 
SOLID Principles in the real world
SOLID Principles in the real worldSOLID Principles in the real world
SOLID Principles in the real worldEPAM
 
Future of the Future of E-Commerce
Future of the Future of E-CommerceFuture of the Future of E-Commerce
Future of the Future of E-CommerceEPAM
 
Bootify Yyour App from Zero to Hero
Bootify Yyour App from Zero to HeroBootify Yyour App from Zero to Hero
Bootify Yyour App from Zero to HeroEPAM
 
Responsive Web in Brief
Responsive Web in BriefResponsive Web in Brief
Responsive Web in BriefEPAM
 

More from EPAM (9)

JavaScript. Code Quality.
JavaScript. Code Quality.JavaScript. Code Quality.
JavaScript. Code Quality.
 
Visualization of Big Data in Web Apps
Visualization of Big Data in Web AppsVisualization of Big Data in Web Apps
Visualization of Big Data in Web Apps
 
Object Oriented Concepts in Real Projects
Object Oriented Concepts in Real ProjectsObject Oriented Concepts in Real Projects
Object Oriented Concepts in Real Projects
 
Modern web applications infrastructure
Modern web applications infrastructureModern web applications infrastructure
Modern web applications infrastructure
 
Reactive Extensions: classic Observer in .NET
Reactive Extensions: classic Observer in .NETReactive Extensions: classic Observer in .NET
Reactive Extensions: classic Observer in .NET
 
SOLID Principles in the real world
SOLID Principles in the real worldSOLID Principles in the real world
SOLID Principles in the real world
 
Future of the Future of E-Commerce
Future of the Future of E-CommerceFuture of the Future of E-Commerce
Future of the Future of E-Commerce
 
Bootify Yyour App from Zero to Hero
Bootify Yyour App from Zero to HeroBootify Yyour App from Zero to Hero
Bootify Yyour App from Zero to Hero
 
Responsive Web in Brief
Responsive Web in BriefResponsive Web in Brief
Responsive Web in Brief
 

Continuous integration for JavaScript projects