Continuous Integration, Build Pipelines and Continuous Deployment


Published on

Talk given at DevOpsDays

Published in: Technology
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • Continuous Integration, Build Pipelines and Continuous Deployment

    1. CI, Pipelines and Deployment
    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 • continuousIntegration.html • deployment_production_line.pdf • deployment%E2%80%94the-video/