Your SlideShare is downloading. ×
持续交付软件之路 - Continuous Delivery
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

持续交付软件之路 - Continuous Delivery

1,064
views

Published on

This slides introduce the concept of continuous delivery and relevant strategies for SCM/dependency/release plan/testing/db/environment to archive

This slides introduce the concept of continuous delivery and relevant strategies for SCM/dependency/release plan/testing/db/environment to archive

Published in: Technology, Education

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,064
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
55
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Kent Beck
  • 2. AB
  • 3. "Agile" team Analysis + Design Centralized QA IT Operations Development Integration + QA Release and operationCustomer Testing + Showcase Iteration 0 1 2 3 4 The "last mile"
  • 4. "Agile" team Analysis + Design Centralized QA IT Operations Development Integration + QA Release and operationCustomer Testing + Showcase Iteration 0 1 2 3 4 The "last mile"
  • 5. "Agile" team Analysis + Design Centralized QA IT Operations Development Integration + QA Release and operationCustomer Testing + Showcase Iteration 0 1 2 3 4 The "last mile"
  • 6. "Agile" team Analysis + Design Centralized QA IT Operations Development Integration + QA Release and operationCustomer Testing + Showcase Iteration 0 1 2 3 4 The "last mile"
  • 7. Mary Poppendieck Tom Poppendieck
  • 8. Product Product Product Final testing opportunity planning and Development Release discovery and approval assessment estimation 2 3 days 1 week 10 days 7 weeks 1 week hoursValue-added time Elapsed time 1 week 10 days 3 days 5 days 2 days
  • 9. Product Product Product Final testing opportunity planning and Development Release discovery and approval assessment estimation 2 3 days 1 week 10 days 7 weeks 1 week hoursValue-added time Elapsed time 1 week 10 days 3 days 5 days 2 days
  • 10. Delivery team Version control Build & unit Automated User acceptance Release tests acceptance tests tests Check in Trigger Feedback Check in Trigger Feedback Trigger Feedback Check in Trigger Feedback Trigger Feedback Approval Feedback Approval
  • 11. Increasing confidence in builds production readiness Environments become more production-like User acceptance testingCommit stage Compile Acceptance Production Unit test test stage AnalysisBuild installers Performance testing Faster feedback
  • 12. CustomerDelivery team Constant flow of new features into production
  • 13. Professor Plum P1-2 P3-4 P1 P2 P3 P4 P5 P1-5 B1 B2Mainline B1 B2 P1-5 B1 B2 G1-6 G1 G2 G3 G4 G5 G6 G1-2 G3 Reverend Green G1-6Professor Plum P1 P2 P3 P4 P4 P1 P2 P3 P4 P5 P1 P3 P4 P5 P2 B2 G3 G1 B1 G2Mainline B1 B2 B1 B2 P4-5 G1 P1-2 G2 P3 G3 G4 G5 G6 G1 G2 G3 G4 G5 G6 Reverend Green G3 G4 G2
  • 14. Professor Plum P1-2 P3-4 P1 P2 P3 P4 P5 B1 B2Mainline B1 B2 B1 B2 G1 G2 G3 G4 G5 G6 G1-2 G3 Reverend Green
  • 15. Professor Plum P1-2 P3-4 P1 P2 P3 P4 P5 P1-5 B1 B2Mainline B1 B2 P1-5 B1 B2 G1-6 G1 G2 G3 G4 G5 G6 G1-2 G3 Reverend Green G1-6
  • 16. Professor Plum P1-2 P3-4 P1 P2 P3 P4 P5 P1-5 B1 B2Mainline B1 B2 P1-5 B1 B2 G1-6 G1 G2 G3 G4 G5 G6 G1-2 G3 Reverend Green G1-6
  • 17. Professor Plum P1-2 P3-4 P1 P2 P3 P4 P5 P1-5 B1 B2Mainline B1 B2 P1-5 B1 B2 G1-6 G1 G2 G3 G4 G5 G6 G1-2 G3 Reverend Green G1-6
  • 18. Professor Plum P1 P2 P3 P4 P4 P1 P2 P3 P4 P5 P1 P3 P4 P5 P2 B2 G3 G1 B1 G2Mainline B1 B2 B1 B2 P4-5 G1 P1-2 G2 P3 G3 G4 G5 G6 G1 G2 G3 G4 G5 G6 Reverend Green G3 G4 G2
  • 19. Config File some.jsp[featureToggles]wobblyFoobars: true <toggle name=wobblyFoobars>flightyForkHandles: false ... various UI elements </toggle>other.java forkHandle = (featureConfig.isOn(‘flightlyForkHandles)) ? new FlightyForkHander(aCandle) : new ForkHandler(aCandle)
  • 20. Framework Framework fluid 2.2.12 2.2.12 Pricing engine Pricing engine 1.0.3 2.2.13 1.0.3 static CDS pricing library 1.0.4 1.3.1 1.3.1CDS pricing library 1.3.2
  • 21. 001_create_initial_tables.sql:CREATE TABLE customer ( id BIGINT GENERATED BY DEFAULT AS IDENTITY (START WITH 1) PRIMARY KEY, firstname VARCHAR(255), lastname VARCHAR(255));002_add_customer_date_of_birth.sqlALTER TABLE customer ADD COLUMN dateofbirth DATETIME;--//@UNDOALTER TABLE customer DROP COLUMN dateofbirth;
  • 22. BaselineDatabase
  • 23. BaselineDatabase
  • 24. DB MetadataBaseline ApplyDatabase Deltas
  • 25. DB MetadataBaseline ApplyDatabase Deltas Fail Fast
  • 26. DB MetadataBaseline Apply Apply Apply Apply Test!Database Deltas Deltas Deltas Deltas
  • 27. app v205 app v230 app v234 app v241 app v248 compatible with db compatible with db compatible with db compatible with db compatible with db v13 and v14 v14 v14 v14 and 15 v15 DB DB DBversion version version 13 14 15 app v205 migrate app v230 app v234 app v234 migrate app v248 deployed db to v14 deployed deployed deployed db to v15 deployed Time
  • 28. v1.1 v1.1 v1.1
  • 29. v1.1 v1.1 v1.1
  • 30. v1.1 v1.1 v1.1v1.2 v1.2 v1.2
  • 31. v1.1 v1.1 v1.1v1.2 v1.2 v1.2
  • 32. v1.1 v1.1 v1.1v1.2 v1.2 v1.2
  • 33. ?