Your SlideShare is downloading. ×
Continuous Integration, Build Pipelines and Continuous Deployment
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 Integration, Build Pipelines and Continuous Deployment

15,196
views

Published on

Talk given at DevOpsDays

Talk given at DevOpsDays

Published in: Technology

0 Comments
43 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
15,196
On Slideshare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
1
Comments
0
Likes
43
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. CI, Pipelines and Deployment Chris.Read@ThoughtWorks.com chris-read.net
    • 2. About Me • Unix Admin • Network Admin • Developer • Principal Consultant
    • 3. CI Core Practices Photo by teclasorg
    • 4. Single Source Repository • Single point of truth • Everyone's code in the same place • NOT a branch per developer • Shared ownership
    • 5. 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
    • 6. Automate Testing • Not just Unit Tests • Failing tests fail the build • Fix it if it’s broken or you’re wasting your time
    • 7. 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
    • 8. CI Evolution
    • 9. 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
    • 10. Every Commit Builds • It’s all about fast feedback • Small changes • Less to merge and/or fix
    • 11. Test in Production Clone • Detect multi-threaded or cluster issues • Tests system architecture and upgrades • Includes databases! • It’s about moving parts, not capacity
    • 12. 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
    • 13. 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
    • 14. 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
    • 15. 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
    • 16. Build Pipelines Photo by rickz
    • 17. Traditional CI Flow
    • 18. Build Pipeline Flow
    • 19. Parallel Jobs
    • 20. One Click Deploys • Pre-requisite for build pipelines • Reduces deployment time and risk • Makes go live a non-event
    • 21. Continuous Deployment Photo by stevendepolo
    • 22. Timeline
    • 23. 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
    • 24. Q&A
    • 25. 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/