Git into the Flow, with the Ultimate Continuous Delivery Workflow on Heroku
-
Upload
salesforce-developers -
Category
Technology
-
view
560 -
download
0
Transcript of Git into the Flow, with the Ultimate Continuous Delivery Workflow on Heroku
![Page 1: Git into the Flow, with the Ultimate Continuous Delivery Workflow on Heroku](https://reader031.fdocuments.net/reader031/viewer/2022030309/58f152401a28ab936e8b4625/html5/thumbnails/1.jpg)
Git into the Flow
Ike DeLorenzo (product manager) & Mark Pundsack (engineering manager) [email protected] & [email protected]
Ultimate Continuous Delivery Workflow on Heroku
![Page 2: Git into the Flow, with the Ultimate Continuous Delivery Workflow on Heroku](https://reader031.fdocuments.net/reader031/viewer/2022030309/58f152401a28ab936e8b4625/html5/thumbnails/2.jpg)
On “Continuous Delivery” A modern way to move small, manageable, testable changes from development to production
![Page 3: Git into the Flow, with the Ultimate Continuous Delivery Workflow on Heroku](https://reader031.fdocuments.net/reader031/viewer/2022030309/58f152401a28ab936e8b4625/html5/thumbnails/3.jpg)
Continuous Delivery A software development, product, and business philosophy
If Agile software development was the opening act to a great performance, Continuous Delivery is the headliner … connecting business strategy with business results. It will help you increase reliability, reduce risks, and decrease costs.
Forrester Research “Continuous Delivery Is Reshaping The Future Of ALM” (2015)
![Page 4: Git into the Flow, with the Ultimate Continuous Delivery Workflow on Heroku](https://reader031.fdocuments.net/reader031/viewer/2022030309/58f152401a28ab936e8b4625/html5/thumbnails/4.jpg)
Continuous Integration:
Build and automated-test new software after each small code change
Enabled by: Circle, Travis, Jenkins, Codeship
Continuous Delivery:
Deploy (or “ship”) software to users after each small change.
Enabled by: Heroku (Pipelines), ALM vendors, homegrown solutions
Complementary techniques for rapid product development Continuous Integration and Continuous Delivery
![Page 5: Git into the Flow, with the Ultimate Continuous Delivery Workflow on Heroku](https://reader031.fdocuments.net/reader031/viewer/2022030309/58f152401a28ab936e8b4625/html5/thumbnails/5.jpg)
It’s all about supporting natural business workflow Previously siloed dev tools and project teams are now tightly integrated
Traditionally
Now
DevTools • Separate, siloed tools • Manual flow between stages • Discontinuous flow or large blocks of work
• Linked, integrated tools • Automatic flow between stages • Continuous flow of small blocks of
work
DevOps • Larger siloed teams (eng, ops, design, PM) • Periodic communication
• One smaller unified team • Frequent/constant communication
![Page 6: Git into the Flow, with the Ultimate Continuous Delivery Workflow on Heroku](https://reader031.fdocuments.net/reader031/viewer/2022030309/58f152401a28ab936e8b4625/html5/thumbnails/6.jpg)
Meet the players: Heroku, GitHub, and Git The technologies and concepts, and the goal.
![Page 7: Git into the Flow, with the Ultimate Continuous Delivery Workflow on Heroku](https://reader031.fdocuments.net/reader031/viewer/2022030309/58f152401a28ab936e8b4625/html5/thumbnails/7.jpg)
Git interest and adoption Surging by all measures, and with good reason
Search term trends
Growth vs. alternatives
Questions on Stack Overflow
Job listings
![Page 8: Git into the Flow, with the Ultimate Continuous Delivery Workflow on Heroku](https://reader031.fdocuments.net/reader031/viewer/2022030309/58f152401a28ab936e8b4625/html5/thumbnails/8.jpg)
Modern code storage, versioning, basic workflow support
• “Repository” or “repo” is base code storage object.
• “Distributed”: everyone has a copy of the full historical “repo”
• “Branches” for features (simple and fast)
• “Merge” feature branches into “master” codebase (also easy)
• Large developer user base makes it a de-facto standard.
Open-source “distributed” version control Git
![Page 9: Git into the Flow, with the Ultimate Continuous Delivery Workflow on Heroku](https://reader031.fdocuments.net/reader031/viewer/2022030309/58f152401a28ab936e8b4625/html5/thumbnails/9.jpg)
Git-based product & “social-coding” network GitHub
Extends Git in meaningful ways
• “Pull requests” code review for branches
• Nice web-based UX, and now desktop UX
• CI (Travis, Circle) integrations, CD integrations (Heroku )
• Team-oriented, Organization-oriented
• Large developer user base (9 MM) makes it a de-facto standard.
• It is the largest host of source code in the world.
![Page 10: Git into the Flow, with the Ultimate Continuous Delivery Workflow on Heroku](https://reader031.fdocuments.net/reader031/viewer/2022030309/58f152401a28ab936e8b4625/html5/thumbnails/10.jpg)
Extends Git and GitHub in meaningful ways
• `$ git push heroku master`, our original deploy interface
• Deploy (automatically) on GitHub push
• Create Review Apps for “Pull requests”
• Nice web-based UX: test, track, manage deployments
• Team-oriented, Organization-oriented
• Large developer user base makes it a de-facto standard.
PaaS with Salesforce Integration Heroku
![Page 11: Git into the Flow, with the Ultimate Continuous Delivery Workflow on Heroku](https://reader031.fdocuments.net/reader031/viewer/2022030309/58f152401a28ab936e8b4625/html5/thumbnails/11.jpg)
Heroku Flow Continous delivery with pipelines
![Page 12: Git into the Flow, with the Ultimate Continuous Delivery Workflow on Heroku](https://reader031.fdocuments.net/reader031/viewer/2022030309/58f152401a28ab936e8b4625/html5/thumbnails/12.jpg)
Demo: Software development & delivery A best-practices workflow for developers, using Git/GitHub and Heroku
![Page 13: Git into the Flow, with the Ultimate Continuous Delivery Workflow on Heroku](https://reader031.fdocuments.net/reader031/viewer/2022030309/58f152401a28ab936e8b4625/html5/thumbnails/13.jpg)
Yes, testing and code review advantages are important (ok, let’s quickly recap a couple, e.g.) ….
![Page 14: Git into the Flow, with the Ultimate Continuous Delivery Workflow on Heroku](https://reader031.fdocuments.net/reader031/viewer/2022030309/58f152401a28ab936e8b4625/html5/thumbnails/14.jpg)
Testing is rapid, efficient, and progressively exhaustive with a pipeline Better testing = Better software
where who code tests
Developer environment
Developer Branch Human evaluation, Some automated tests, Local data
Pipeline: Review apps
Full team Branch Human evaluation, Some automated tests, Sanitized data
Pipeline: Staging app
Full team Production Human evaluation, Full automated tests, Sanitized data
Pipeline: Production app
Real world users
Production Real user evaluation, Full automated tests, Production data
![Page 15: Git into the Flow, with the Ultimate Continuous Delivery Workflow on Heroku](https://reader031.fdocuments.net/reader031/viewer/2022030309/58f152401a28ab936e8b4625/html5/thumbnails/15.jpg)
Opening up code review to the whole product team
with Review Apps without Review Apps
![Page 16: Git into the Flow, with the Ultimate Continuous Delivery Workflow on Heroku](https://reader031.fdocuments.net/reader031/viewer/2022030309/58f152401a28ab936e8b4625/html5/thumbnails/16.jpg)
… but continuous delivery is really about transforming the way we build software
• Lowers risk for innovation, features, and fixes
• Allows for frequent market feedback: better product-market fit
• Empowers the team itself, and conserves human labor
• Yields better quality software, released faster
• Provides for more timely, predictable releases
![Page 18: Git into the Flow, with the Ultimate Continuous Delivery Workflow on Heroku](https://reader031.fdocuments.net/reader031/viewer/2022030309/58f152401a28ab936e8b4625/html5/thumbnails/18.jpg)
*Credits Heroku flow feature set
With great thanks to all of the Heroku “DevEx” Developer Experience engineering team led by
Mark Pundsack
Andy Appleton
Guðmundur Bjarni Ólafsson
Hector Simpson
![Page 19: Git into the Flow, with the Ultimate Continuous Delivery Workflow on Heroku](https://reader031.fdocuments.net/reader031/viewer/2022030309/58f152401a28ab936e8b4625/html5/thumbnails/19.jpg)
Share Your Feedback, and Win a GoPro!
3 Earn a GoPro prize entry for each completed survey
Tap the bell to take a survey 2Enroll in a session 1
![Page 20: Git into the Flow, with the Ultimate Continuous Delivery Workflow on Heroku](https://reader031.fdocuments.net/reader031/viewer/2022030309/58f152401a28ab936e8b4625/html5/thumbnails/20.jpg)
End