• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Continuous Integration, Build Pipelines and Continuous Deployment
 

Continuous Integration, Build Pipelines and Continuous Deployment

on

  • 17,475 views

Talk given at DevOpsDays

Talk given at DevOpsDays

Statistics

Views

Total Views
17,475
Views on SlideShare
17,299
Embed Views
176

Actions

Likes
40
Downloads
1
Comments
0

7 Embeds 176

http://www.continuousintegration.me 89
http://www.slideshare.net 57
http://tspace.web.att.com 21
https://twitter.com 3
http://dschool.co 3
http://www.linkedin.com 2
http://twitter.com 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Apple Keynote

Usage Rights

CC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Continuous Integration, Build Pipelines and Continuous Deployment Continuous Integration, Build Pipelines and Continuous Deployment Presentation Transcript

  • CI, Pipelines and Deployment Chris.Read@ThoughtWorks.com chris-read.net
  • About Me • Unix Admin • Network Admin • Developer • Principal Consultant
  • CI Core Practices Photo by teclasorg
  • Single Source Repository • Single point of truth • Everyone's code in the same place • NOT a branch per developer • Shared ownership
  • Automate Build • Using the IDE is not automating! • Using the IDE does not give you a repeatable build • Use a build tool • Compile, package, test
  • Automate Testing • Not just Unit Tests • Failing tests fail the build • Fix it if it’s broken or you’re wasting your time
  • Publish Latest Distributable • Make it easy to get the final product • Should only be built once so you deploy what’s been tested • Configuration is separate
  • CI Evolution
  • Commit More Often • “At least once a day” - aim for at least once an hour • Needs a small unit of work • To commit cleanly you need to update first
  • Every Commit Builds • It’s all about fast feedback • Small changes • Less to merge and/or fix
  • Test in Production Clone • Detect multi-threaded or cluster issues • Tests system architecture and upgrades • Includes databases! • It’s about moving parts, not capacity
  • Keep Build Fast • It really is all about feedback • If things break you find out about it while it’s still fresh in your mind • Keep up with frequent check ins
  • Everyone Sees What’s Happening • Reduce time to fix • No excuse to check in on broken build • It’s not about blame, it’s about feedback
  • Automate Deployment • Reduce Human Error • Verify you can get it running somewhere other than “my machine” • Test not only the code but your deployment mechanism too • Don’t tie up Sys Admins with boring stuff • Don’t tie up Devs waiting for feedback
  • Making CI Work • Can’t be done in isolation • Pick the right tools for the job • It’s not a silver bullet Image by LiminalMike
  • Build Pipelines Photo by rickz
  • Traditional CI Flow
  • Build Pipeline Flow
  • Parallel Jobs
  • One Click Deploys • Pre-requisite for build pipelines • Reduces deployment time and risk • Makes go live a non-event
  • Continuous Deployment Photo by stevendepolo
  • Timeline
  • Summary • CI and Build Pipelines improve • Quality • Time to Market • Confidence • Continuous Deployment is the next step • These practices require Devs and Sys Admins to work closely together
  • Q&A
  • Useful Links • http://www.martinfowler.com/articles/ continuousIntegration.html • http://www.thoughtworks.com/pdfs/ deployment_production_line.pdf • http://saucelabs.com/blog/index.php/2009/09/continuous- deployment%E2%80%94the-video/