Upload
itcampus
View
910
Download
1
Embed Size (px)
DESCRIPTION
Роман Василенко. Continuous delivery или как упростить себе жизнь
Citation preview
Continuous delivery
или как упростить себе жизнь
Чего хочет заказчик?
Developer
Customer
Cycle Time
“How long would it take your organization to deploy a change that involves just one single line of code? Do you do this on a repeatable, reliable basis?”
-Mary and Tom PoppendieckImplementing Lean Software Development
Как все было …
Requirements
Design
Development
Testing
Release
Release
Developer
Release
Customer
Проблемы Waterfall
• Поздний feedback
• Сложность внесения изменений
• Нехватка взаимодействия
Principles behind the Agile Manifesto
Our highest priority is to satisfy the customer through early and continuous delivery of
valuable software....
Наивысшим приоритетом для нас является удовлетворение потребностей заказчика,
благодаря регулярной и ранней поставке ценного программного обеспечения.
...
Agile
Requirements
Design
Development
Testing
Release
Requirements
Design
Development
Testing
Release
Requirements
Design
Development
Testing
Release
Iteration 1 Iteration 2 Iteration 3
Continuous Delivery это …
… набор практик и принципов нацеленных на сборку, тестирование и поставку программного обеспечения быстрее и чаще.
Goals
Quality
Cycle Time
Конвейер развертывания
Стадия фиксацииКомпиляция
Модульные тестыАнализ
Инсталляторы сборок
Автоматические
приемочные тесты
Автоматические тесты
производительности
Ручное тестированиеДемонстрация
Исследовательское тестирование
Релиз
Конвейер развертывания
Стадия фиксацииКомпиляция
Модульные тестыАнализ
Инсталляторы сборок
Конвейер развертывания
Автоматические приемочные
тесты
Конвейер развертывания
Автоматические тесты
производительности
Конвейер развертывания
Ручное тестированиеДемонстрация
Исследовательское тестирование
Конвейер развертывания
Релиз
Principles of Continuous Delivery
• The process for releasing/deploying software MUST be repeatable and reliable;
• Automate everything;• If somethings difficult or painful, do it more often;• Keep everything in source control;• Build quality in;• Everybody has responsibility for the release
process;
Первые шаги
• Команда 7 человек• Отдел тестирования
Автоматизация поставки последней версии приложения на тестирование
Hudson
TestFlight
TwinPics
• Server Part – Java/Maven/WebDriver• Client Part – Scala/Play2.0/SBT/Thucydides• Tomcat• Конвейер развертывания
TwinPics
TwinPics
TwinPics
Tools
Continuous Integration
Build Automation
Спасибо!