git into the flow, with the ultimate continuous delivery workflow on heroku

20
Git into the Flow Ike DeLorenzo (product manager) & Mark Pundsack (engineering manager) [email protected] & [email protected] Ultimate Continuous Delivery Workow on Heroku

Upload: salesforce-developers

Post on 15-Apr-2017

554 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Git into the Flow, with the Ultimate Continuous Delivery Workflow on Heroku

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

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

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

 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

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

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

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

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

 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

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

Heroku Flow  Continous delivery with pipelines

Page 12: Git into the Flow, with the Ultimate Continuous Delivery Workflow on Heroku

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

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

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

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

… 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 17: Git into the Flow, with the Ultimate Continuous Delivery Workflow on Heroku

Questions? Ike : [email protected]

Mark: [email protected]

Or ask us on Twitter: @heroku

Page 18: Git into the Flow, with the Ultimate Continuous Delivery Workflow on Heroku

*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

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

 End