Роман Василенко. continuous delivery или как упростить себе...

31
Continuous delivery или как упростить себе жизнь

Upload: itcampus

Post on 23-Dec-2014

913 views

Category:

Education


1 download

DESCRIPTION

Роман Василенко. Continuous delivery или как упростить себе жизнь

TRANSCRIPT

Page 1: Роман Василенко. Continuous delivery или как упростить себе жизнь

Continuous delivery

или как упростить себе жизнь

Page 2: Роман Василенко. Continuous delivery или как упростить себе жизнь

Чего хочет заказчик?

Page 3: Роман Василенко. Continuous delivery или как упростить себе жизнь

Developer

Page 4: Роман Василенко. Continuous delivery или как упростить себе жизнь

Customer

Page 5: Роман Василенко. Continuous delivery или как упростить себе жизнь

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

Page 6: Роман Василенко. Continuous delivery или как упростить себе жизнь

Как все было …

Requirements

Design

Development

Testing

Release

Page 7: Роман Василенко. Continuous delivery или как упростить себе жизнь

Release

Developer

Page 8: Роман Василенко. Continuous delivery или как упростить себе жизнь

Release

Customer

Page 9: Роман Василенко. Continuous delivery или как упростить себе жизнь

Проблемы Waterfall

• Поздний feedback

• Сложность внесения изменений

• Нехватка взаимодействия

Page 10: Роман Василенко. Continuous delivery или как упростить себе жизнь

Principles behind the Agile Manifesto

Our highest priority is to satisfy the customer through early and continuous delivery of

valuable software....

Наивысшим приоритетом для нас является удовлетворение потребностей заказчика,

благодаря регулярной и ранней поставке ценного программного обеспечения.

...

Page 11: Роман Василенко. Continuous delivery или как упростить себе жизнь

Agile

Requirements

Design

Development

Testing

Release

Requirements

Design

Development

Testing

Release

Requirements

Design

Development

Testing

Release

Iteration 1 Iteration 2 Iteration 3

Page 12: Роман Василенко. Continuous delivery или как упростить себе жизнь

Continuous Delivery это …

… набор практик и принципов нацеленных на сборку, тестирование и поставку программного обеспечения быстрее и чаще.

Page 13: Роман Василенко. Continuous delivery или как упростить себе жизнь

Goals

Quality

Cycle Time

Page 14: Роман Василенко. Continuous delivery или как упростить себе жизнь

Конвейер развертывания

Стадия фиксацииКомпиляция

Модульные тестыАнализ

Инсталляторы сборок

Автоматические

приемочные тесты

Автоматические тесты

производительности

Ручное тестированиеДемонстрация

Исследовательское тестирование

Релиз

Page 15: Роман Василенко. Continuous delivery или как упростить себе жизнь

Конвейер развертывания

Стадия фиксацииКомпиляция

Модульные тестыАнализ

Инсталляторы сборок

Page 16: Роман Василенко. Continuous delivery или как упростить себе жизнь

Конвейер развертывания

Автоматические приемочные

тесты

Page 17: Роман Василенко. Continuous delivery или как упростить себе жизнь

Конвейер развертывания

Автоматические тесты

производительности

Page 18: Роман Василенко. Continuous delivery или как упростить себе жизнь

Конвейер развертывания

Ручное тестированиеДемонстрация

Исследовательское тестирование

Page 19: Роман Василенко. Continuous delivery или как упростить себе жизнь

Конвейер развертывания

Релиз

Page 20: Роман Василенко. Continuous delivery или как упростить себе жизнь

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;

Page 21: Роман Василенко. Continuous delivery или как упростить себе жизнь

Первые шаги

• Команда 7 человек• Отдел тестирования

Автоматизация поставки последней версии приложения на тестирование

Page 22: Роман Василенко. Continuous delivery или как упростить себе жизнь

Hudson

Page 23: Роман Василенко. Continuous delivery или как упростить себе жизнь

TestFlight

Page 24: Роман Василенко. Continuous delivery или как упростить себе жизнь

TwinPics

• Server Part – Java/Maven/WebDriver• Client Part – Scala/Play2.0/SBT/Thucydides• Tomcat• Конвейер развертывания

Page 25: Роман Василенко. Continuous delivery или как упростить себе жизнь

TwinPics

Page 26: Роман Василенко. Continuous delivery или как упростить себе жизнь

TwinPics

Page 27: Роман Василенко. Continuous delivery или как упростить себе жизнь

TwinPics

Page 28: Роман Василенко. Continuous delivery или как упростить себе жизнь

Tools

Page 29: Роман Василенко. Continuous delivery или как упростить себе жизнь

Continuous Integration

Page 30: Роман Василенко. Continuous delivery или как упростить себе жизнь

Build Automation

Page 31: Роман Василенко. Continuous delivery или как упростить себе жизнь

Спасибо!