chat powered continuous delivery
play

Chat-Powered Continuous Delivery Ben Lavender Hi, Im @bhuga Im - PowerPoint PPT Presentation

Chat-Powered Continuous Delivery Ben Lavender Hi, Im @bhuga Im @bhuga everywhere I work on workflow I work at GitHub This talk is: Selling you on GitHubs workflow Tools to build your own workflow GitHub Flow The Rules


  1. Chat-Powered Continuous Delivery Ben Lavender

  2. Hi, I’m @bhuga I’m @bhuga everywhere I work on workflow I work at GitHub

  3. This talk is: • Selling you on GitHub’s workflow • Tools to build your own workflow

  4. GitHub Flow

  5. The Rules • Anything on master is deployable. And will be. Right now. • Work o ff of short-lived named branches • Open a pull request for help, feedback, and signo ff • Once you merge, deploy immediately.

  6. SCRUM or whatever Do work on a branch Automated tests Decide what's worth doing Manual tests feedback feedback Merge to master feedback Deploy to production auto-deploy

  7. Story Time A Fix at GitHub Names have been changed to protect the innocent

  8. Step 1: Decide what to do Step 1: Decide what to do

  9. Step 2: Do it

  10. Step 2: Do it git push

  11. ASYNCHRONOUSLY • Not at the same time • At your leisure • When it’s not interrupting people

  12. GitHub Flow

  13. GitHub Flow is a version of Continuous Deployment

  14. Professor Wikipedia says: • Techniques such as automated testing, continuous integration and continuous deployment allow software to be developed to a high standard and easily packaged and deployed to test environments, resulting in the ability to rapidly, reliably and repeatedly push out enhancements and bug fixes to customers at low risk and with minimal manual overhead.

  15. …boring Continuous deployment is about developing and deploying in short, rapid increments.

  16. Benefits for Developers: • A simple, easy-to-learn workflow • No release process • Frequent feedback • Low-risk, low-stress ships • Merge conflicts become trivial • Ownership, agency, quick wins, and responsibility

  17. Continuously deploy everything

  18. Story Time How to get from where you are to continuous deployment

  19. Practices Part 1

  20. Make TINY changes

  21. Help your application understand development

  22. • Feature flags

  23. Use feature flags to make ships smaller and safer

  24. Tools Part 2

  25. Chat Chat. chat, chat, chat, chat, chat, chat. With a robot.

  26. Shared Console • /deploy • /ci build • /merge • /config

  27. Exceptions

  28. Graphs

  29. Hackable toolchain

  30. CD needs to be automated • Builds on every commit • Results of signo ff (feedback) • Deployment • Setup for manual tests • Communication

  31. Create pull Implement on Communicate Respond to build Run build request (request new branch Build status issues feedback) Communicate Communicate Respond to ready for Review signoff review review feedback Test in integrate master branch deploy Fix issues integrate master production Re-deploy ! Merge branch Deploy master branch

  32. Create pull Implement on Communicate Respond to build Run build request (request new branch Build status issues feedback) Communicate Communicate Respond to ready for Review signoff review review feedback Test in integrate master branch deploy Fix issues integrate master production Re-deploy ! Merge branch Deploy master branch

  33. WebHooks VCS server Webhook HTTP POST (GitHub) Receiver

  34. Git push VCS server Webhook Commit Info (GitHub) Receiver

  35. Git push VCS server Webhook HTTP POST (GitHub) Receiver Issue Assigned Tests Failed Repository Pull Request Starred Opened

  36. GitHub Events • There’s a ton

  37. GitHub Events • There’s a ton

  38. GitHub Events • There’s a ton

  39. Example: Announce Issue Creation

  40. Announce Issue Creation Webhook Developer GitHub Receiver Create Issue Issue Event

  41. Example: Build Every Commit

  42. Build Every Commit Developer GitHub CI Server Commit Push Event Notifications Build Starts Update Status - Pending Update Status - Success

  43. Example: Deployment

  44. Deployment Developer GitHub Deploy Server Create Deployment Deployment Event Deploy Starts Notifications Deployment Status - Started Deployment Status - Finished

  45. Example: Signo ff

  46. Signo ff Deployment Developer GitHub QA Team Server Create pull request Notification Testing Notifications Comment ! Issue Comment Webhook Deploy Close Comment

  47. 198 API Endpoints

  48. 21 WebHook Events

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend