Download presentation
Presentation is loading. Please wait.
Published byDorothy Williams Modified over 8 years ago
1
1 Punishment Through Continuous Delivery If it hurts, do it more often…
2
2 Typical Deployment Pipeline 1.Order the T-shirts for the Development team 2.Announce availability 3.Write the code 4.Write the manual 5.Hire a Product Manager 6.Spec the software (writing the specs after the code helps to ensure that the software meets the specifications) 7.Ship 8.Test (the customers are a big help here) 9.Identify bugs as potential enhancements 10.Announce the upgrade program Source: http://www.nullskull.com/a/722/the-top-ten-rules-of-software-development.aspx
3
3 Monday is Deployment Day
4
4 What is Continuous Delivery and Why Do it? Continuous Delivery A development practice which enables software to be deployed at any time Software changes are delivered frequently and incrementally to the client Relies upon automation and tooling to fulfill deployments consistently Continuous Deployment What is checked in and makes it through the delivery pipeline is immediately deployed to production This results in many production deployments every day Why bother? Frequent delivery means fewer changes are made with each deployment, reducing both complexity and risk. Practice makes perfect
5
5 Assisted Parking vs. Manual Parking
6
6 Delivery Pipeline (example)
7
7 What are the benefits Push-of-the-button deployments / Less Stress You say “oh, we deployed today?” vs. “we have a deployment this month” Reduced Errors during deployments Easy rollback Visible progress Improved User Feedback Improved Code Quality Because you must use automated testing and CI to detect defects early
8
8 The Journey to Continuous Delivery Using Version Control Using Automated Tests Continuous Delivery Continuous Integration
9
9 Demo: Version Control 101
10
10 Tips with Version Control Only check in working code Work on small units of code Check in several times per day Only check in working code Do not use branches Before you check in: Build the software Run unit tests Update your local copy Build and Run again if changes were found
11
11 Unit Testing – Why bother?
12
12 Unit Tests – Exercising the Code Automated and Repeatable Easy to Implement Relevant for tomorrow Anyone can run them at the push of a button Quick Consistent results Isolated from other tests Failure or Success should be easy to detect Source: The art of Unit Testing, 2 nd Edition, Roy Osherove
13
13 Unit Tests What to Test Scalar Values Row-wise changes External Values How to Test Arrange Act Assert
14
14 Demo: Unit Tests
15
15 Refactoring
16
16 Continuous Integration Continuous Integration (CI) is a development practice that requires developers to integrate code into a shared repository several times a day. Each check-in is then verified by an automated build, allowing teams to detect problems early. Demo: Continuous Integration
17
17 Demo: Continuous Delivery
18
18 Tips with Database Code Version Control Database Objects Use SSDT Use refactoring to Rename Change schemas Use Static Code Analysis Prefer changes that: Are not destructive Are additive Do not cause data movement Do Unit Testing Automate Tests Build before check in
19
19 Tips for CD What Changes for Developers Deliver software even before it is ready to be used Feature Flags Work on smaller pieces of code Check-in often Done = When its in production All environments are the same – no more manual deployments sideways Everything in VC is deployed Some other Benefits Constant Feedback Nothing is missing in Deployment CD represents some living documentation for your app Configuration Management Environment Variables Registry Entries 3 rd Party tools (exe, dll) Where to start? Automate One Thing Choose an easy win but something useful
20
20 Thank You Mark Wojciechowicz http://anexinetbi.blogspot.com/ http://anexinetbi.blogspot.com/ @MarkW_BI @MarkW_BI Learn More www.thoughtworks.com/continuous-integration www.thoughtworks.com/continuous-integration http://martinfowler.com/bliki/ContinuousDelivery.html http://martinfowler.com/bliki/ContinuousDelivery.html
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.