Continuous Delivery is the process of having a shippable product after each check-in to the source control repository. Continuous Delivery is usually implemented as a natural improvement of a Continuous Integration process. This presentation highlights challenges and presents hints on how to start from a raw environment and incrementally build a successful deployment pipeline based on Team Foundation Server (TFS), providing substantial added-value for business.
This presentation will describe the process of establishing Continuous Delivery in a project for FIFA. We describe the starting point, what we achieve in the first phases and what are the plans for further improvements in order to deliver high quality software in schedules defined by business needs – not by process and technology constraints.
http://blog.m.jedynak.pl/2012/06/continuous-delivery-story-with-fifa.html
5. Maintainable
• Able to fix bugs
Maintainable • Verify them
• Any tests at all?
Buildable & deployable
Revisable
12.12.2012 5 PROPOSED BY SCOTT HANSELMAN
6. Refactorable
• Follow conventions
Refactorable • Refactor without fear
• Automated unit tests
Maintainable
Buildable & deployable
Revisable
12.12.2012 6 PROPOSED BY SCOTT HANSELMAN
7. Pride
• „It’s clear to me”
Pride • „Ok, John was here”
Refactorable
Maintainable
Buildable & deployable
Revisable
12.12.2012 7 PROPOSED BY SCOTT HANSELMAN
15. practice where team
members integrate their work
frequently, usually at least
daily - leading to multiple
integrations per day
Continuous Integration
21. How long would it take in your
organization to deploy a change that
involves just a single line of code?
How long would it take to set up
production environment when your
data center blows up?
41. Troubles
Hotfix
* Rollback
* Deploy last good version
* Rollback scripts less tested than deployment
* Avoid Fix-forward fire
* Hotfix
* Follow regular deployment pipeline
* It is a tested path
* It has known time of deployment
48. Database deployment
• separate database migrations
– expansion scripts - changes not breaking backwards
compatibility with the existing version
– contraction scripts - clean up any database structure that is
no longer needed
App App
v1.0 v2.0
Expansion Contractions
script v2.0 cript v2.0