Continous delivery with Jenkins and Chef
Embed Size (px)
Transcript of Continous delivery with Jenkins and Chef
- 1. Continous delivery pipeline for Symfony2 projects with Jenkins and Chef Micha Dbrowski http://github.com/defrag PHPers Krakw 10/07/2014
- 2. Most common anwser?
- 3. Most common anwser? Should be done
- 4. Most common anwser? Should be done
- 5. Continuous delivery (CD) is a set of processes, tools and techniques for the rapid, reliable and continuous development and delivery of software. What is continous delivery?
- 6. Our highest priority is to satisfy the customer! through early and continuous delivery! of valuable software. Agile manifesto #1
- 7. done === released What is done in Continous Delivery?
- 8. Why? increase quality reduce cost reduct risk make customer happy delivery production ready software act on feedback
- 9. Quality comes rst
- 10. Building blocks from practical view Continous Integration Release automation Infrastructure automation Monitoring
- 11. CI & Deployment pipeline
- 12. Typical development workow Fork a repo
- 13. Typical development workow Submit pull request
- 14. Typical development workow Trigger build process on PR
- 15. Typical development workow Code review
- 16. Typical development workow Merge into master
- 17. Typical development workow Trigger build on master branch
- 18. Typical development workow Result of build is Release Candidate! (not every RC is deployed)
- 19. How do we get there?
- 20. Start with Jenkins
- 21. Create new project
- 22. Set up your build process
- 23. Set up your build process Downloading dependencies using composer.! ! Dumping prod assets.! ! Ensuring empty cache and logs directories.! ! !
- 24. Run your unit tests
- 25. Run your unit tests ! Unit test build pass.
- 26. Run your acceptance tests
- 27. Run your acceptance tests ! ! Acceptance test build pass.
- 28. Create package out of build result tarball! rpm! deb! etc.
- 29. Create package out of build result
- 30. Visualize your process with build pipeline
- 31. Stop Deploy time
- 32. Not only application Deliver your conguration in automated fashion
- 33. Build pipeline revisited manualauto
- 34. Quick Chef overview
- 35. Make jenkins talk to your chef server knife ec2 server create! knife bootstrap! knife ssh!
- 36. Make jenkins talk to your chef server
- 37. Deploy app capistrano, fabric, knife plugin etc
- 38. Chose the one that works for you
- 39. Dead simple with Fabric and pychef @roles('web')! def deploy():
- 40. Dead simple with Fabric and pychef fab env:staging deploy:25
- 41. Dead simple with Fabric and pychef fab env:staging deploy:25 chef environment build no.
- 42. Demo
- 43. Wrapping up
- 44. Benets speed of delivery quality cost reduction ability to respond to feedback quickly adapt to change
- 45. Thank you