Johannes Nicolai

Title: How GitHub uses GitHub to develop and deploy GitHub

Description:

Learn how GitHub's globally distributed teams use GitHub tooling to develop GitHub, collaborate with engineering, sales, marketing, services and legal and deploy more than 500 times a week. Experience ChatOps, a great way to reduce friction between development and operations and super efficient way to bring new engineers up to speed. See life examples on how to use Hubot to retrieve log files, graph various metrics and deploy pull requests directly from Slack to Heroku. Get some ideas how to build such a ChatOps environment yourself.

Description:

  • Zen of GitHub as guiding philosophy for any new feature work, nature of features, internal and external communication
  • remote nature of GitHub organization and its implications on standups, pair programming and working style (default to asynchronous)
  • walk through the GitHub Flow based on examples from different teams (engineering, web site, legal, services)
  • introduction of GitHub's deployment API and life demo how to ue it from Slack and Hubot to deploy pull requests to Heroku preview environment
  • introduction into ChatOps
  • life command execution
  • philosophy
  • reduce communication friction between dev and ops
  • have all needed context in one chat room
  • learn from day one on, even from historic conversations
  • ChatOps examples from the DevOps team
  • ChatOps in the context of continuous deployment at GitHub
  • introduction to various deployment environments (lab, canary, production)
  • introduction to the queueing mechanism for the prod env
  • introduction to the confidence dashboard (deployment metrics)
  • introduction to Haystack (exception monitor)
  • information how to use Hubot
  • install additional hubot packages
  • how to deploy Hubot in Heroku
  • Q & A