Continuous delivery applied (DC CI User Group)
-
Upload
mike-mcgarr -
Category
Technology
-
view
1.881 -
download
5
description
Transcript of Continuous delivery applied (DC CI User Group)
![Page 1: Continuous delivery applied (DC CI User Group)](https://reader035.fdocuments.us/reader035/viewer/2022062319/554a3c67b4c905293a8b4c77/html5/thumbnails/1.jpg)
DC Continuous Integration, Delivery and Deployment User Group
![Page 2: Continuous delivery applied (DC CI User Group)](https://reader035.fdocuments.us/reader035/viewer/2022062319/554a3c67b4c905293a8b4c77/html5/thumbnails/2.jpg)
Thank you Excella Consulting
2
![Page 3: Continuous delivery applied (DC CI User Group)](https://reader035.fdocuments.us/reader035/viewer/2022062319/554a3c67b4c905293a8b4c77/html5/thumbnails/3.jpg)
Excella is Hiring!
3
![Page 4: Continuous delivery applied (DC CI User Group)](https://reader035.fdocuments.us/reader035/viewer/2022062319/554a3c67b4c905293a8b4c77/html5/thumbnails/4.jpg)
• October 15th – Continuous Delivery in the Cloud Case Study (Paul Duvall)
• November 7th – Anatomy of a Build Pipeline (Sam Brown)
• December 13th – Finalizing Speaker
Upcoming Events
4
![Page 5: Continuous delivery applied (DC CI User Group)](https://reader035.fdocuments.us/reader035/viewer/2022062319/554a3c67b4c905293a8b4c77/html5/thumbnails/5.jpg)
Continuous DeliveryApplied
Mike [email protected]://earlyandoften.wordpress.com http://www.meetup.com/DC-continuous-integration/ @jmichaelmcgarr
![Page 6: Continuous delivery applied (DC CI User Group)](https://reader035.fdocuments.us/reader035/viewer/2022062319/554a3c67b4c905293a8b4c77/html5/thumbnails/6.jpg)
• J. Michael (Mike) McGarr
• Excella Consulting, Arlington VA
• Lead of Excella’s Java Center of Excellence
• Founder of the DC Continuous Integration, Delivery, and Deployment Meetup
About Me
6
![Page 7: Continuous delivery applied (DC CI User Group)](https://reader035.fdocuments.us/reader035/viewer/2022062319/554a3c67b4c905293a8b4c77/html5/thumbnails/7.jpg)
…a set of practices and principles aimed at, building, testing, and releasing software faster and more frequently.
7
Continuous Delivery is…
![Page 8: Continuous delivery applied (DC CI User Group)](https://reader035.fdocuments.us/reader035/viewer/2022062319/554a3c67b4c905293a8b4c77/html5/thumbnails/8.jpg)
8
![Page 9: Continuous delivery applied (DC CI User Group)](https://reader035.fdocuments.us/reader035/viewer/2022062319/554a3c67b4c905293a8b4c77/html5/thumbnails/9.jpg)
“Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.”
- First of the Twelve Principles behind the Agile Manifesto
9
![Page 10: Continuous delivery applied (DC CI User Group)](https://reader035.fdocuments.us/reader035/viewer/2022062319/554a3c67b4c905293a8b4c77/html5/thumbnails/10.jpg)
Cycle TimeQuality
10
Goals
![Page 11: Continuous delivery applied (DC CI User Group)](https://reader035.fdocuments.us/reader035/viewer/2022062319/554a3c67b4c905293a8b4c77/html5/thumbnails/11.jpg)
“How long would it take your organization to deploy a change [to production] that involves just one single line of code? Do you do this on a repeatable, reliable basis?”
- Mary and Tom Poppendieck,Implementing Lean Software Development
11
Cycle Time
![Page 12: Continuous delivery applied (DC CI User Group)](https://reader035.fdocuments.us/reader035/viewer/2022062319/554a3c67b4c905293a8b4c77/html5/thumbnails/12.jpg)
12
The Last Mile
Manual Deployments
Insufficient Configuration Management
Infrequent, Error Prone Deployments
![Page 13: Continuous delivery applied (DC CI User Group)](https://reader035.fdocuments.us/reader035/viewer/2022062319/554a3c67b4c905293a8b4c77/html5/thumbnails/13.jpg)
13
Stressful Releases
![Page 14: Continuous delivery applied (DC CI User Group)](https://reader035.fdocuments.us/reader035/viewer/2022062319/554a3c67b4c905293a8b4c77/html5/thumbnails/14.jpg)
14
Frequent Automated Deployments
http://flic.kr/p/29Ree
![Page 15: Continuous delivery applied (DC CI User Group)](https://reader035.fdocuments.us/reader035/viewer/2022062319/554a3c67b4c905293a8b4c77/html5/thumbnails/15.jpg)
15
Always Production Ready
![Page 16: Continuous delivery applied (DC CI User Group)](https://reader035.fdocuments.us/reader035/viewer/2022062319/554a3c67b4c905293a8b4c77/html5/thumbnails/16.jpg)
16
Agile
ConfigurationManagement
Continuous Integration Testing
Deployment Pipelines
Continuous Deployment
Deployment Automation
![Page 17: Continuous delivery applied (DC CI User Group)](https://reader035.fdocuments.us/reader035/viewer/2022062319/554a3c67b4c905293a8b4c77/html5/thumbnails/17.jpg)
17
Deployment Pipelines
http://www.fotopedia.com/users/chmehl
![Page 18: Continuous delivery applied (DC CI User Group)](https://reader035.fdocuments.us/reader035/viewer/2022062319/554a3c67b4c905293a8b4c77/html5/thumbnails/18.jpg)
18
Deployment Pipelines
A Deployment Pipeline is an automated manifestation of your process for getting software from version control into the hands of your users.
![Page 19: Continuous delivery applied (DC CI User Group)](https://reader035.fdocuments.us/reader035/viewer/2022062319/554a3c67b4c905293a8b4c77/html5/thumbnails/19.jpg)
19
Deployment Pipelines(aka Build Pipelines)
![Page 20: Continuous delivery applied (DC CI User Group)](https://reader035.fdocuments.us/reader035/viewer/2022062319/554a3c67b4c905293a8b4c77/html5/thumbnails/20.jpg)
20
Continuous what?
ContinuousDelivery
ContinuousDeployment
ContinuousIntegration
![Page 21: Continuous delivery applied (DC CI User Group)](https://reader035.fdocuments.us/reader035/viewer/2022062319/554a3c67b4c905293a8b4c77/html5/thumbnails/21.jpg)
Getting Started
Continuous Delivery Applied
![Page 22: Continuous delivery applied (DC CI User Group)](https://reader035.fdocuments.us/reader035/viewer/2022062319/554a3c67b4c905293a8b4c77/html5/thumbnails/22.jpg)
22
Understand your Process
http://www.michaelnygard.com/blog/2008/02/outrunning_your_headlights.html
![Page 23: Continuous delivery applied (DC CI User Group)](https://reader035.fdocuments.us/reader035/viewer/2022062319/554a3c67b4c905293a8b4c77/html5/thumbnails/23.jpg)
23
Understand your Organization
![Page 24: Continuous delivery applied (DC CI User Group)](https://reader035.fdocuments.us/reader035/viewer/2022062319/554a3c67b4c905293a8b4c77/html5/thumbnails/24.jpg)
24
Developers
http://flic.kr/p/5cK2
![Page 25: Continuous delivery applied (DC CI User Group)](https://reader035.fdocuments.us/reader035/viewer/2022062319/554a3c67b4c905293a8b4c77/html5/thumbnails/25.jpg)
25
Deployment Pipelines(aka Build Pipelines)
![Page 26: Continuous delivery applied (DC CI User Group)](https://reader035.fdocuments.us/reader035/viewer/2022062319/554a3c67b4c905293a8b4c77/html5/thumbnails/26.jpg)
26
Test Driven Development
http://reddevnews.com/articles/2007/11/01/testdriven-development-tdd.aspx
![Page 27: Continuous delivery applied (DC CI User Group)](https://reader035.fdocuments.us/reader035/viewer/2022062319/554a3c67b4c905293a8b4c77/html5/thumbnails/27.jpg)
27
Evolutionary Design
![Page 28: Continuous delivery applied (DC CI User Group)](https://reader035.fdocuments.us/reader035/viewer/2022062319/554a3c67b4c905293a8b4c77/html5/thumbnails/28.jpg)
28
Automate the Build
![Page 29: Continuous delivery applied (DC CI User Group)](https://reader035.fdocuments.us/reader035/viewer/2022062319/554a3c67b4c905293a8b4c77/html5/thumbnails/29.jpg)
29
Static Code Analysis
CheckStyle
![Page 30: Continuous delivery applied (DC CI User Group)](https://reader035.fdocuments.us/reader035/viewer/2022062319/554a3c67b4c905293a8b4c77/html5/thumbnails/30.jpg)
30
Technical Debt
![Page 31: Continuous delivery applied (DC CI User Group)](https://reader035.fdocuments.us/reader035/viewer/2022062319/554a3c67b4c905293a8b4c77/html5/thumbnails/31.jpg)
31
The Team
![Page 32: Continuous delivery applied (DC CI User Group)](https://reader035.fdocuments.us/reader035/viewer/2022062319/554a3c67b4c905293a8b4c77/html5/thumbnails/32.jpg)
32
Agile
![Page 33: Continuous delivery applied (DC CI User Group)](https://reader035.fdocuments.us/reader035/viewer/2022062319/554a3c67b4c905293a8b4c77/html5/thumbnails/33.jpg)
33
Continuous Integration
![Page 34: Continuous delivery applied (DC CI User Group)](https://reader035.fdocuments.us/reader035/viewer/2022062319/554a3c67b4c905293a8b4c77/html5/thumbnails/34.jpg)
34
Continuous Integration
Check-in Daily
Commit to Trunk
Automate the Build
Keep the Build Fast
Every Commit results in Build
Test in Clone of Production
Automate Deployment
![Page 35: Continuous delivery applied (DC CI User Group)](https://reader035.fdocuments.us/reader035/viewer/2022062319/554a3c67b4c905293a8b4c77/html5/thumbnails/35.jpg)
35
Testing
![Page 36: Continuous delivery applied (DC CI User Group)](https://reader035.fdocuments.us/reader035/viewer/2022062319/554a3c67b4c905293a8b4c77/html5/thumbnails/36.jpg)
36
Testing Phases
![Page 37: Continuous delivery applied (DC CI User Group)](https://reader035.fdocuments.us/reader035/viewer/2022062319/554a3c67b4c905293a8b4c77/html5/thumbnails/37.jpg)
37
Testing is not a Phase
http://flic.kr/p/6bcg
![Page 38: Continuous delivery applied (DC CI User Group)](https://reader035.fdocuments.us/reader035/viewer/2022062319/554a3c67b4c905293a8b4c77/html5/thumbnails/38.jpg)
38
Specification by Example
![Page 39: Continuous delivery applied (DC CI User Group)](https://reader035.fdocuments.us/reader035/viewer/2022062319/554a3c67b4c905293a8b4c77/html5/thumbnails/39.jpg)
39
Specification by Example
![Page 40: Continuous delivery applied (DC CI User Group)](https://reader035.fdocuments.us/reader035/viewer/2022062319/554a3c67b4c905293a8b4c77/html5/thumbnails/40.jpg)
40
Automated Performance Testing
![Page 41: Continuous delivery applied (DC CI User Group)](https://reader035.fdocuments.us/reader035/viewer/2022062319/554a3c67b4c905293a8b4c77/html5/thumbnails/41.jpg)
41
Configuration Management
![Page 42: Continuous delivery applied (DC CI User Group)](https://reader035.fdocuments.us/reader035/viewer/2022062319/554a3c67b4c905293a8b4c77/html5/thumbnails/42.jpg)
Version Control
42
![Page 43: Continuous delivery applied (DC CI User Group)](https://reader035.fdocuments.us/reader035/viewer/2022062319/554a3c67b4c905293a8b4c77/html5/thumbnails/43.jpg)
43
Build Once, Deploy Many
![Page 44: Continuous delivery applied (DC CI User Group)](https://reader035.fdocuments.us/reader035/viewer/2022062319/554a3c67b4c905293a8b4c77/html5/thumbnails/44.jpg)
Artifact Repositories
44
![Page 45: Continuous delivery applied (DC CI User Group)](https://reader035.fdocuments.us/reader035/viewer/2022062319/554a3c67b4c905293a8b4c77/html5/thumbnails/45.jpg)
45
Traceability
![Page 46: Continuous delivery applied (DC CI User Group)](https://reader035.fdocuments.us/reader035/viewer/2022062319/554a3c67b4c905293a8b4c77/html5/thumbnails/46.jpg)
46
Versioning Numbers
![Page 47: Continuous delivery applied (DC CI User Group)](https://reader035.fdocuments.us/reader035/viewer/2022062319/554a3c67b4c905293a8b4c77/html5/thumbnails/47.jpg)
Externalize Configuration
47
ESCAPE Database
![Page 48: Continuous delivery applied (DC CI User Group)](https://reader035.fdocuments.us/reader035/viewer/2022062319/554a3c67b4c905293a8b4c77/html5/thumbnails/48.jpg)
48
Deploying
![Page 49: Continuous delivery applied (DC CI User Group)](https://reader035.fdocuments.us/reader035/viewer/2022062319/554a3c67b4c905293a8b4c77/html5/thumbnails/49.jpg)
49
Deployment Pipelines(aka Build Pipelines)
![Page 50: Continuous delivery applied (DC CI User Group)](https://reader035.fdocuments.us/reader035/viewer/2022062319/554a3c67b4c905293a8b4c77/html5/thumbnails/50.jpg)
Code Deployments
50
![Page 51: Continuous delivery applied (DC CI User Group)](https://reader035.fdocuments.us/reader035/viewer/2022062319/554a3c67b4c905293a8b4c77/html5/thumbnails/51.jpg)
Version your Database
51
![Page 52: Continuous delivery applied (DC CI User Group)](https://reader035.fdocuments.us/reader035/viewer/2022062319/554a3c67b4c905293a8b4c77/html5/thumbnails/52.jpg)
52
![Page 53: Continuous delivery applied (DC CI User Group)](https://reader035.fdocuments.us/reader035/viewer/2022062319/554a3c67b4c905293a8b4c77/html5/thumbnails/53.jpg)
Infrastructure as Code
53
![Page 54: Continuous delivery applied (DC CI User Group)](https://reader035.fdocuments.us/reader035/viewer/2022062319/554a3c67b4c905293a8b4c77/html5/thumbnails/54.jpg)
54
Puppet
![Page 55: Continuous delivery applied (DC CI User Group)](https://reader035.fdocuments.us/reader035/viewer/2022062319/554a3c67b4c905293a8b4c77/html5/thumbnails/55.jpg)
Vagrant
55
![Page 56: Continuous delivery applied (DC CI User Group)](https://reader035.fdocuments.us/reader035/viewer/2022062319/554a3c67b4c905293a8b4c77/html5/thumbnails/56.jpg)
56
Monitoring (sucks)
https://github.com/monitoringsucks
![Page 57: Continuous delivery applied (DC CI User Group)](https://reader035.fdocuments.us/reader035/viewer/2022062319/554a3c67b4c905293a8b4c77/html5/thumbnails/57.jpg)
57
Continuous Deployment
![Page 58: Continuous delivery applied (DC CI User Group)](https://reader035.fdocuments.us/reader035/viewer/2022062319/554a3c67b4c905293a8b4c77/html5/thumbnails/58.jpg)
58
Contact Me
Mike McGarr
http://earlyandoften.wordpress.com
@jmichaelmcgarr
![Page 59: Continuous delivery applied (DC CI User Group)](https://reader035.fdocuments.us/reader035/viewer/2022062319/554a3c67b4c905293a8b4c77/html5/thumbnails/59.jpg)
59
Further Reading• Continuous Delivery: Reliable Software Releases through Build, Test
and Deployment Automation, by Jez Humble and David Farley - http://www.amazon.com/Continuous-Delivery-Deployment-Automation-Addison-Wesley/dp/0321601912
• Test Driven Development (TDD) – http://en.wikipedia.org/wiki/Test-driven_development
• Introducing BDD, by Dan North – http://dannorth.net/introducing-bdd/• Agile Manifesto – http://agilemanifesto.org/• Scrum – http://www.scrumalliance.org/learn_about_scrum• Continuous Integration, by Martin Fowler –
http://martinfowler.com/articles/continuousIntegration.html• Specification by Example, by Gojko Adzic -
http://specificationbyexample.com/• Build Pipelines -
http://www.magpiebrain.com/2009/12/13/a-brief-and-incomplete-history-of-build-pipelines/
![Page 60: Continuous delivery applied (DC CI User Group)](https://reader035.fdocuments.us/reader035/viewer/2022062319/554a3c67b4c905293a8b4c77/html5/thumbnails/60.jpg)
60
Further Reading• Maven Releases on Steriods, by Axel Fontaine –
http://www.axelfontaine.com/2011/01/maven-releases-on-steroids-adios.html
• What is in a Name? Usually a version number, actually., by James Betteley - http://jamesbetteley.wordpress.com/2011/07/07/what-is-in-a-name-usually-a-version-number-actually/
• Build Once, Deploy Many - http://earlyandoften.wordpress.com/2010/09/09/build-once-deploy-many/
• Evolutionary Design - http://martinfowler.com/articles/designDead.html• Continuous Deployment -
http://timothyfitz.wordpress.com/2009/02/08/continuous-deployment/ • Sonar’s Technical Debt Calculation -
http://www.sonarsource.org/evaluate-your-technical-debt-with-sonar/• Gherkin - https://github.com/cucumber/cucumber/wiki/Gherkin
![Page 61: Continuous delivery applied (DC CI User Group)](https://reader035.fdocuments.us/reader035/viewer/2022062319/554a3c67b4c905293a8b4c77/html5/thumbnails/61.jpg)
61
Tools• Git - http://git-scm.com/• Subversion - http://subversion.tigris.org/• Mercurial - http://mercurial.selenic.com/• Rational ClearCase -
http://www-01.ibm.com/software/awdtools/clearcase/• Serena Dimensions CM -
http://www.serena.com/products/dimensions-cm/index.html• Ant - http://ant.apache.org/• Ivy - http://ant.apache.org/ivy/• Maven - http://maven.apache.org/• Gradle - http://gradle.org/• JUnit – http://www.junit.org/• Mockito – http://code.google.com/p/mockito/• Hamcrest – http://code.google.com/p/hamcrest/• Spock – http://code.google.com/p/spock/• dbUnit – http://www.dbunit.org/• Unitils – http://unitils.org/summary.html
![Page 62: Continuous delivery applied (DC CI User Group)](https://reader035.fdocuments.us/reader035/viewer/2022062319/554a3c67b4c905293a8b4c77/html5/thumbnails/62.jpg)
62
Tools• Findbugs – http://findbugs.sourceforge.net/• PMD – http://pmd.sourceforge.net/• Checkstyle – http://checkstyle.sourceforge.net/• JIRA – http://www.atlassian.com/software/jira/overview• GitHub – https://github.com/• Jenkins - http://jenkins-ci.org/• TeamCity – http://www.jetbrains.com/teamcity/• Nexus – http://www.sonatype.org/nexus/• Artifactory – http://www.jfrog.com/products.php• Sonar – http://www.sonarsource.org/• FitNesse – • Concordion – http://www.concordion.org/• Cucumber – http://cukes.info/• easyb – http://www.easyb.org/• jBehave - http://jbehave.org/• geb - http://www.gebish.org/
![Page 63: Continuous delivery applied (DC CI User Group)](https://reader035.fdocuments.us/reader035/viewer/2022062319/554a3c67b4c905293a8b4c77/html5/thumbnails/63.jpg)
63
Tools• Liquibase – www.liquibase.org/ • Flyway – http://code.google.com/p/flyway/• Escape – http://code.google.com/p/escservesconfig/• Puppet – http://puppetlabs.com/• Chef – http://www.opscode.com/chef/• Vagrant – http://vagrantup.com/• JMeter – http://jmeter.apache.org/• Nagios - http://www.nagios.org/