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

Post on 23-Dec-2014

913 Views

Category:

Education

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

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

TRANSCRIPT

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

Спасибо!

top related