SlideShare a Scribd company logo
Get Hooked on Integrations With GitHub
Christopher Thomas
HighEdWeb 2016
10/17/2016
#DPA2
Intro
» What is Git?
» What is Github?
» GitHub Integrations
» GitHub Webhooks
» Webhook usage at Loma Linda University
» Summary
» Resources
» Questions
About Me: Christopher Thomas
» Responsible for tools and technologies used to develop web apps at Loma
Linda University
» For many years, active in the web community through contributions
» SoCal born and raised!
» Marathon runner
About Loma Linda University (LLU)
» Location: 1 hour from Los Angeles
» Students: 4,500+
» Programs: 100+
» Schools: 8
» Ownership: Privately owned by the Seventh-Day-Adventist Church
» Mission: “To continue the teaching and healing ministry of Jesus Christ”
» Other facts:
~ Institution mainly focused on health sciences at the graduate level
~ City of Loma Linda is the only Blue Zone in the country
~ No mascot, but “Good Samaritan” statue is an unofficial proxy
~ Institution is a part of a 6 hospital 1,000+ bed health system
What is Git?
» Source code version control
» Developed by Linus Torvalds, the creator of Linux
» Distributed
» Full history of commits are in each copy of the repository
» Users can make commits without being connected to the network
» Can work without a main/central repository
What is GitHub?
» A git server / git repository hosting site
» Has arguably the best web based UI of all git server solutions
» Easily allows users to share code and to collaborate
» Largest git repository hosting site
» Comes in two versions
~ Cloud based (github.com)
~ On premise, VM appliance (GitHub Enterprise)
What are Integrations and Webhooks?
» Events in GitHub are broadcasted
» Integrations are predefined event broadcasts to a specific vendor solution
» Webhooks are user setup HTTP requests
Types of Events
» Fork
» Branch
» Issues (opened, closed, comments, assigned)
» Push
» Team (add, edit memberships, delete, etc..)
» Merge
Integrations
» GitHub has over 70 predefined integrations
» Lots of popular apps and services are on the list
» Very little configuration needed to set up
» Not all events are broadcasted for each integration
» GitHub.com calls them integrations, GitHub Enterprise calls them services
Integrations
» Project Management
~ JIRA
» Continuous Integration
~ TravisCI
~ Jenkins / Hudson (plugin needed)
» Communication
~ #Slack
~ HipChat
» Other
Your Integration / Vendor Service Not
on List?
» Options:
~ Integrations Early Access Program
~ Webhooks
Integrations Early Access Program
» Used to be able to submit a Pull Request to submit an integration
» Process recently changed to the integrations early access program
» More formal process
» Inclusion requirements more clearly stated than in the past
Webhooks
Webhooks
» Best when the integration you need can’t be handled by something in the
integrations directory or eligible for the integrations early access program;
when you need a custom integration
» GitHub sends a HTTP POST request to a specified URL
» POST body contains data about the event in either JSON or form data
format
» Can set up via settings webpage or via GitHub’s API
» Can trigger webhook for all events or certain type of events
Case study
Webhooks usage at Loma Linda University
Administrative Systems Department
» Consists of roughly two dozen people with a mixture of programmer /
business / application analysts and managers.
» “We write the programs that run the University”
» Develop mostly for the web using PHP for an in-house developed platform
» Everyone in department has ability to push code to production
MyLLU Portal
» Web portal that serves the entire enterprise
» Dozens of apps
» 100,000s of lines of PHP code
» Two instances of portal (internal vs external apps)
» Types of apps:
~ Admissions committee tools
~ Collaboration tools
~ Finance tools
~ Identity management tools
~ Job board
~ Student forms workflow processing
~ Training requirements tracker
Developer Workflow
» Initial steps:
~ Developer forks main repository
~ Clones repo in their account
~ Adds main repository as a remote (upstream)
» Development steps:
~ Create feature branch and push to origin, if working with others
~ Make code changes
~ Test on local VM
~ Commit Changes
~ Merge Changes back to master
~ Push master to upstream
MyLLU Deployment Process
» Before Git / GitHub
~ Developers would FTP files to production servers
~ Sometimes process would take minuets if code was in separate
directories
~ Potential app downtime while code is copied to servers
» After Git / GitHub
~ Webhook used to initiate code deployment
~ Code copied to servers in seconds
~ Minimized potential app downtime while code is copied
MyLLU Deployment Process
» Developer pushes code (upstream) to repository in our GitHub Enterprise
instance
» GitHub triggers the webhook, which contacts the intermediate server
» Intermediate server pulls changes from GitHub to a local repo
» Intermediate pushes code from local repo to production web servers
» Intermediate server sends notice to all developers with commits in the push
that their changes have been published
MyLLU Deployment Process
Intermediate Server
» Had to do for network policy reasons (not necessary in most enviroments)
» Dedicated account used to process GitHub webhook
» Must create SSH key pair so server can pull code from GitHub Enterprise
and push code to production servers
» Add newly created public key to GitHub as a deploy key
Deploy Key
Production Servers
» Process based on Evanto Tuts+ article “Setting Up A Staging Environment”
» Have a separate account just for the webhook process
» SSH keys so intermediate server can connect
» Two git repos
~ Bare repo in git process home repo
~ Regular repo in the webroot
Summary
» GitHub was built to integrate with other systems
» Many predefined integrations for lots of vendor systems
» Can ask for new intergration to be added through a formal process
» Custom integrations can be done through webhooks
» Loma Linda has leveraged webhooks to deploy code to its portal platform
Resources
» GitHub Integrations Directory
~ https://github.com/integrations
» GitHub Early Access Integrations
~ https://developer.github.com/early-access/integrations/
» Setting Up a Staging Environment
~ https://code.tutsplus.com/articles/setting-up-a-staging-environment--net-29738
» Webhooks API Docs
~ https://developer.github.com/v3/repos/hooks/
Questions
#DPA2

More Related Content

What's hot

Learning git
Learning gitLearning git
Learning git
Sid Anand
 
Intro to Git, GitHub, and Devpost
Intro to Git, GitHub, and DevpostIntro to Git, GitHub, and Devpost
Intro to Git, GitHub, and Devpost
Andrew Kerr
 
Git - An Introduction
Git - An IntroductionGit - An Introduction
Git - An Introduction
Behzad Altaf
 
Git101
Git101Git101
Git101
Jason Noble
 
Intro to Git and GitHub
Intro to Git and GitHubIntro to Git and GitHub
Intro to Git and GitHub
Uri Goldstein
 
Introduction to Git and Github
Introduction to Git and GithubIntroduction to Git and Github
Introduction to Git and Github
Roland Emmanuel Salunga
 
Introduction to git & GitHub
Introduction to git & GitHubIntroduction to git & GitHub
Introduction to git & GitHub
Poornachandrakashi
 
Git and Github
Git and GithubGit and Github
Git and Github
Akshay Vasava
 
Github
GithubGithub
Teaching a Designer to Use GitHub
Teaching a Designer to Use GitHubTeaching a Designer to Use GitHub
Teaching a Designer to Use GitHub
Liam Dempsey
 
Introduction to Git / Github
Introduction to Git / GithubIntroduction to Git / Github
Introduction to Git / Github
Paige Bailey
 
Git and github
Git and githubGit and github
Git and github
Sayantika Banik
 
Bitbucket git-bamboo-jira
Bitbucket git-bamboo-jiraBitbucket git-bamboo-jira
Bitbucket git-bamboo-jira
lenamattt
 
Bitbucket
BitbucketBitbucket
Bitbucket
hariprasad1035
 
Git, GitHub and Open Source
Git, GitHub and Open SourceGit, GitHub and Open Source
Git, GitHub and Open Source
Lorna Mitchell
 
Get to know Git
Get to know GitGet to know Git
Get to know Git
Runcy Oommen
 
Java EE with NetBeans on OpenShift
Java EE with NetBeans on OpenShiftJava EE with NetBeans on OpenShift
Java EE with NetBeans on OpenShift
Markus Eisele
 
Git installation and configuration
Git installation and configurationGit installation and configuration
Git installation and configuration
Kishor Kumar
 
Git and github 101
Git and github 101Git and github 101
Git and github 101
Senthilkumar Gopal
 

What's hot (20)

Learning git
Learning gitLearning git
Learning git
 
Intro to Git, GitHub, and Devpost
Intro to Git, GitHub, and DevpostIntro to Git, GitHub, and Devpost
Intro to Git, GitHub, and Devpost
 
Git - An Introduction
Git - An IntroductionGit - An Introduction
Git - An Introduction
 
Git101
Git101Git101
Git101
 
Intro to Git and GitHub
Intro to Git and GitHubIntro to Git and GitHub
Intro to Git and GitHub
 
Introduction to Git and Github
Introduction to Git and GithubIntroduction to Git and Github
Introduction to Git and Github
 
Git real slides
Git real slidesGit real slides
Git real slides
 
Introduction to git & GitHub
Introduction to git & GitHubIntroduction to git & GitHub
Introduction to git & GitHub
 
Git and Github
Git and GithubGit and Github
Git and Github
 
Github
GithubGithub
Github
 
Teaching a Designer to Use GitHub
Teaching a Designer to Use GitHubTeaching a Designer to Use GitHub
Teaching a Designer to Use GitHub
 
Introduction to Git / Github
Introduction to Git / GithubIntroduction to Git / Github
Introduction to Git / Github
 
Git and github
Git and githubGit and github
Git and github
 
Bitbucket git-bamboo-jira
Bitbucket git-bamboo-jiraBitbucket git-bamboo-jira
Bitbucket git-bamboo-jira
 
Bitbucket
BitbucketBitbucket
Bitbucket
 
Git, GitHub and Open Source
Git, GitHub and Open SourceGit, GitHub and Open Source
Git, GitHub and Open Source
 
Get to know Git
Get to know GitGet to know Git
Get to know Git
 
Java EE with NetBeans on OpenShift
Java EE with NetBeans on OpenShiftJava EE with NetBeans on OpenShift
Java EE with NetBeans on OpenShift
 
Git installation and configuration
Git installation and configurationGit installation and configuration
Git installation and configuration
 
Git and github 101
Git and github 101Git and github 101
Git and github 101
 

Viewers also liked

You Broke It, You Bought It
You Broke It, You Bought ItYou Broke It, You Bought It
You Broke It, You Bought It
Tim Senft
 
Stop Repeating Yourself: Modularized WordPress Development
Stop Repeating Yourself: Modularized WordPress DevelopmentStop Repeating Yourself: Modularized WordPress Development
Stop Repeating Yourself: Modularized WordPress Development
jmbarne3
 
Hello from the Other Side: Painful Lessons Learned from a Website Redesign
Hello from the Other Side: Painful Lessons Learned from a Website RedesignHello from the Other Side: Painful Lessons Learned from a Website Redesign
Hello from the Other Side: Painful Lessons Learned from a Website Redesign
lisacatto
 
Train the Trainer: Tips for Enhancing Employee Learning (Presented at HighEdW...
Train the Trainer: Tips for Enhancing Employee Learning (Presented at HighEdW...Train the Trainer: Tips for Enhancing Employee Learning (Presented at HighEdW...
Train the Trainer: Tips for Enhancing Employee Learning (Presented at HighEdW...
Katie Santo
 
Redesigning Your Site For a Better User Experience
Redesigning Your Site For a Better User ExperienceRedesigning Your Site For a Better User Experience
Redesigning Your Site For a Better User Experience
Sylvia Navarro Nicosia
 
Learning to C.O.P.E. at XU
Learning to C.O.P.E. at XULearning to C.O.P.E. at XU
Learning to C.O.P.E. at XU
Gregory McMullen
 
One Size Fits None: Remaking a College Site for a Content Hungry Generation
One Size Fits None: Remaking a College Site for a Content Hungry GenerationOne Size Fits None: Remaking a College Site for a Content Hungry Generation
One Size Fits None: Remaking a College Site for a Content Hungry Generation
Ardis Kadiu
 
What 'The Walking Dead' Taught Me About Web Governance
What 'The Walking Dead' Taught Me About Web GovernanceWhat 'The Walking Dead' Taught Me About Web Governance
What 'The Walking Dead' Taught Me About Web Governance
Tim Nekritz
 
Events in Stereo: How to help your events and campaigns succeed #heweb16 #mcs3
Events in Stereo: How to help your events and campaigns succeed #heweb16 #mcs3Events in Stereo: How to help your events and campaigns succeed #heweb16 #mcs3
Events in Stereo: How to help your events and campaigns succeed #heweb16 #mcs3
Tiffany Beker
 
That is Not My Job
That is Not My JobThat is Not My Job
That is Not My Job
Robin Smail
 
S.I.F.T. Through Your Content For Accessibility
S.I.F.T. Through Your Content For AccessibilityS.I.F.T. Through Your Content For Accessibility
S.I.F.T. Through Your Content For Accessibility
Justin Gatewood
 
Nailing Pinterest: It's Not All Wedding Dresses and Desserts
Nailing Pinterest: It's Not All Wedding Dresses and DessertsNailing Pinterest: It's Not All Wedding Dresses and Desserts
Nailing Pinterest: It's Not All Wedding Dresses and Desserts
Jackie Vetrano
 
"No, YOU'RE Crying": How Two Schools Turned a Cinderella Experience into Soci...
"No, YOU'RE Crying": How Two Schools Turned a Cinderella Experience into Soci..."No, YOU'RE Crying": How Two Schools Turned a Cinderella Experience into Soci...
"No, YOU'RE Crying": How Two Schools Turned a Cinderella Experience into Soci...
Chris D'Orso
 
Is This Hashtag Really Necessary: Taking the Plunge into Twitter Chats
Is This Hashtag Really Necessary: Taking the Plunge into Twitter ChatsIs This Hashtag Really Necessary: Taking the Plunge into Twitter Chats
Is This Hashtag Really Necessary: Taking the Plunge into Twitter Chats
David Tyler
 
Higher Ed Governance for the Real World
Higher Ed Governance for the Real WorldHigher Ed Governance for the Real World
Higher Ed Governance for the Real World
Rachel DeLauder
 
Digital hoarding is driving away users and killing conversion
Digital hoarding is driving away users and killing conversionDigital hoarding is driving away users and killing conversion
Digital hoarding is driving away users and killing conversion
Kate Wehner
 
The New Analytics of Web Governance
The New Analytics of Web GovernanceThe New Analytics of Web Governance
The New Analytics of Web Governance
Shane Diffily
 
Using the Web Arms Race to your advantage - sell more via a better site :)
Using the Web Arms Race to your advantage - sell more via a better site :)Using the Web Arms Race to your advantage - sell more via a better site :)
Using the Web Arms Race to your advantage - sell more via a better site :)
Shane Diffily
 
Web Governance in Higher Education
Web Governance in Higher EducationWeb Governance in Higher Education
Web Governance in Higher Education
Shane Diffily
 
The Making of a Web Team
The Making of a Web TeamThe Making of a Web Team
The Making of a Web Team
Jennifer Riehle McFarland
 

Viewers also liked (20)

You Broke It, You Bought It
You Broke It, You Bought ItYou Broke It, You Bought It
You Broke It, You Bought It
 
Stop Repeating Yourself: Modularized WordPress Development
Stop Repeating Yourself: Modularized WordPress DevelopmentStop Repeating Yourself: Modularized WordPress Development
Stop Repeating Yourself: Modularized WordPress Development
 
Hello from the Other Side: Painful Lessons Learned from a Website Redesign
Hello from the Other Side: Painful Lessons Learned from a Website RedesignHello from the Other Side: Painful Lessons Learned from a Website Redesign
Hello from the Other Side: Painful Lessons Learned from a Website Redesign
 
Train the Trainer: Tips for Enhancing Employee Learning (Presented at HighEdW...
Train the Trainer: Tips for Enhancing Employee Learning (Presented at HighEdW...Train the Trainer: Tips for Enhancing Employee Learning (Presented at HighEdW...
Train the Trainer: Tips for Enhancing Employee Learning (Presented at HighEdW...
 
Redesigning Your Site For a Better User Experience
Redesigning Your Site For a Better User ExperienceRedesigning Your Site For a Better User Experience
Redesigning Your Site For a Better User Experience
 
Learning to C.O.P.E. at XU
Learning to C.O.P.E. at XULearning to C.O.P.E. at XU
Learning to C.O.P.E. at XU
 
One Size Fits None: Remaking a College Site for a Content Hungry Generation
One Size Fits None: Remaking a College Site for a Content Hungry GenerationOne Size Fits None: Remaking a College Site for a Content Hungry Generation
One Size Fits None: Remaking a College Site for a Content Hungry Generation
 
What 'The Walking Dead' Taught Me About Web Governance
What 'The Walking Dead' Taught Me About Web GovernanceWhat 'The Walking Dead' Taught Me About Web Governance
What 'The Walking Dead' Taught Me About Web Governance
 
Events in Stereo: How to help your events and campaigns succeed #heweb16 #mcs3
Events in Stereo: How to help your events and campaigns succeed #heweb16 #mcs3Events in Stereo: How to help your events and campaigns succeed #heweb16 #mcs3
Events in Stereo: How to help your events and campaigns succeed #heweb16 #mcs3
 
That is Not My Job
That is Not My JobThat is Not My Job
That is Not My Job
 
S.I.F.T. Through Your Content For Accessibility
S.I.F.T. Through Your Content For AccessibilityS.I.F.T. Through Your Content For Accessibility
S.I.F.T. Through Your Content For Accessibility
 
Nailing Pinterest: It's Not All Wedding Dresses and Desserts
Nailing Pinterest: It's Not All Wedding Dresses and DessertsNailing Pinterest: It's Not All Wedding Dresses and Desserts
Nailing Pinterest: It's Not All Wedding Dresses and Desserts
 
"No, YOU'RE Crying": How Two Schools Turned a Cinderella Experience into Soci...
"No, YOU'RE Crying": How Two Schools Turned a Cinderella Experience into Soci..."No, YOU'RE Crying": How Two Schools Turned a Cinderella Experience into Soci...
"No, YOU'RE Crying": How Two Schools Turned a Cinderella Experience into Soci...
 
Is This Hashtag Really Necessary: Taking the Plunge into Twitter Chats
Is This Hashtag Really Necessary: Taking the Plunge into Twitter ChatsIs This Hashtag Really Necessary: Taking the Plunge into Twitter Chats
Is This Hashtag Really Necessary: Taking the Plunge into Twitter Chats
 
Higher Ed Governance for the Real World
Higher Ed Governance for the Real WorldHigher Ed Governance for the Real World
Higher Ed Governance for the Real World
 
Digital hoarding is driving away users and killing conversion
Digital hoarding is driving away users and killing conversionDigital hoarding is driving away users and killing conversion
Digital hoarding is driving away users and killing conversion
 
The New Analytics of Web Governance
The New Analytics of Web GovernanceThe New Analytics of Web Governance
The New Analytics of Web Governance
 
Using the Web Arms Race to your advantage - sell more via a better site :)
Using the Web Arms Race to your advantage - sell more via a better site :)Using the Web Arms Race to your advantage - sell more via a better site :)
Using the Web Arms Race to your advantage - sell more via a better site :)
 
Web Governance in Higher Education
Web Governance in Higher EducationWeb Governance in Higher Education
Web Governance in Higher Education
 
The Making of a Web Team
The Making of a Web TeamThe Making of a Web Team
The Making of a Web Team
 

Similar to Get Hooked on Integrations with GitHub

Increase the Velocity of Your Software Releases Using GitHub and DeployHub
Increase the Velocity of Your Software Releases Using GitHub and DeployHubIncrease the Velocity of Your Software Releases Using GitHub and DeployHub
Increase the Velocity of Your Software Releases Using GitHub and DeployHub
DevOps.com
 
Git & GitHub N00bs
Git & GitHub N00bsGit & GitHub N00bs
Git & GitHub N00bs
YasserElsnbary
 
Git and GitHub.pptx
Git and GitHub.pptxGit and GitHub.pptx
Git and GitHub.pptx
kelashraisal052
 
Github 101 An Adventurer's Guide To Open Source
Github 101   An Adventurer's Guide To Open SourceGithub 101   An Adventurer's Guide To Open Source
Github 101 An Adventurer's Guide To Open Source
Prachitibhukan
 
Mini-training: Let’s Git It!
Mini-training: Let’s Git It!Mini-training: Let’s Git It!
Mini-training: Let’s Git It!
Betclic Everest Group Tech Team
 
DevOps Fest 2020. Kohsuke Kawaguchi. GitOps, Jenkins X & the Future of CI/CD
DevOps Fest 2020. Kohsuke Kawaguchi. GitOps, Jenkins X & the Future of CI/CDDevOps Fest 2020. Kohsuke Kawaguchi. GitOps, Jenkins X & the Future of CI/CD
DevOps Fest 2020. Kohsuke Kawaguchi. GitOps, Jenkins X & the Future of CI/CD
DevOps_Fest
 
Design Microservice Architectures the Right Way
Design Microservice Architectures the Right WayDesign Microservice Architectures the Right Way
Design Microservice Architectures the Right Way
C4Media
 
Smart development environments
Smart development environmentsSmart development environments
Smart development environments
Wojciech Sznapka
 
The adoption of FOSS workfows in commercial software development: the case of...
The adoption of FOSS workfows in commercial software development: the case of...The adoption of FOSS workfows in commercial software development: the case of...
The adoption of FOSS workfows in commercial software development: the case of...dmgerman
 
Intro to DevOps 4 undergraduates
Intro to DevOps 4 undergraduates Intro to DevOps 4 undergraduates
Intro to DevOps 4 undergraduates
Liran Levy
 
Introduction to Git(BitBucket) , Continuous Integration (Bamboo) & Confluence
Introduction to Git(BitBucket) , Continuous Integration (Bamboo) & Confluence Introduction to Git(BitBucket) , Continuous Integration (Bamboo) & Confluence
Introduction to Git(BitBucket) , Continuous Integration (Bamboo) & Confluence
Parag Gajbhiye
 
Version Control, Writers, and Workflows
Version Control, Writers, and WorkflowsVersion Control, Writers, and Workflows
Version Control, Writers, and Workflows
stc-siliconvalley
 
Git hub ppt presentation
Git hub ppt presentationGit hub ppt presentation
Git hub ppt presentation
AyanaRukasar
 
ChatOps in Action
ChatOps in ActionChatOps in Action
ChatOps in Action
Todd Kaplinger
 
Leading a Community-Driven Open Source Project
Leading a Community-Driven Open Source ProjectLeading a Community-Driven Open Source Project
Leading a Community-Driven Open Source Project
Vincent Massol
 
Giddy Up on GitHub
Giddy Up on GitHubGiddy Up on GitHub
Giddy Up on GitHub
Rocket Software
 
O365Con18 - Git and GitHub - Rick van Rousselt
O365Con18 - Git and GitHub - Rick van RousseltO365Con18 - Git and GitHub - Rick van Rousselt
O365Con18 - Git and GitHub - Rick van Rousselt
NCCOMMS
 
stackconf 2021 | Prometheus in 2021 and beyond
stackconf 2021 | Prometheus in 2021 and beyondstackconf 2021 | Prometheus in 2021 and beyond
stackconf 2021 | Prometheus in 2021 and beyond
NETWAYS
 
Demo
DemoDemo
Revolutionize Your Workflow with ChatOps
Revolutionize Your Workflow with ChatOpsRevolutionize Your Workflow with ChatOps
Revolutionize Your Workflow with ChatOps
Tessa Mero
 

Similar to Get Hooked on Integrations with GitHub (20)

Increase the Velocity of Your Software Releases Using GitHub and DeployHub
Increase the Velocity of Your Software Releases Using GitHub and DeployHubIncrease the Velocity of Your Software Releases Using GitHub and DeployHub
Increase the Velocity of Your Software Releases Using GitHub and DeployHub
 
Git & GitHub N00bs
Git & GitHub N00bsGit & GitHub N00bs
Git & GitHub N00bs
 
Git and GitHub.pptx
Git and GitHub.pptxGit and GitHub.pptx
Git and GitHub.pptx
 
Github 101 An Adventurer's Guide To Open Source
Github 101   An Adventurer's Guide To Open SourceGithub 101   An Adventurer's Guide To Open Source
Github 101 An Adventurer's Guide To Open Source
 
Mini-training: Let’s Git It!
Mini-training: Let’s Git It!Mini-training: Let’s Git It!
Mini-training: Let’s Git It!
 
DevOps Fest 2020. Kohsuke Kawaguchi. GitOps, Jenkins X & the Future of CI/CD
DevOps Fest 2020. Kohsuke Kawaguchi. GitOps, Jenkins X & the Future of CI/CDDevOps Fest 2020. Kohsuke Kawaguchi. GitOps, Jenkins X & the Future of CI/CD
DevOps Fest 2020. Kohsuke Kawaguchi. GitOps, Jenkins X & the Future of CI/CD
 
Design Microservice Architectures the Right Way
Design Microservice Architectures the Right WayDesign Microservice Architectures the Right Way
Design Microservice Architectures the Right Way
 
Smart development environments
Smart development environmentsSmart development environments
Smart development environments
 
The adoption of FOSS workfows in commercial software development: the case of...
The adoption of FOSS workfows in commercial software development: the case of...The adoption of FOSS workfows in commercial software development: the case of...
The adoption of FOSS workfows in commercial software development: the case of...
 
Intro to DevOps 4 undergraduates
Intro to DevOps 4 undergraduates Intro to DevOps 4 undergraduates
Intro to DevOps 4 undergraduates
 
Introduction to Git(BitBucket) , Continuous Integration (Bamboo) & Confluence
Introduction to Git(BitBucket) , Continuous Integration (Bamboo) & Confluence Introduction to Git(BitBucket) , Continuous Integration (Bamboo) & Confluence
Introduction to Git(BitBucket) , Continuous Integration (Bamboo) & Confluence
 
Version Control, Writers, and Workflows
Version Control, Writers, and WorkflowsVersion Control, Writers, and Workflows
Version Control, Writers, and Workflows
 
Git hub ppt presentation
Git hub ppt presentationGit hub ppt presentation
Git hub ppt presentation
 
ChatOps in Action
ChatOps in ActionChatOps in Action
ChatOps in Action
 
Leading a Community-Driven Open Source Project
Leading a Community-Driven Open Source ProjectLeading a Community-Driven Open Source Project
Leading a Community-Driven Open Source Project
 
Giddy Up on GitHub
Giddy Up on GitHubGiddy Up on GitHub
Giddy Up on GitHub
 
O365Con18 - Git and GitHub - Rick van Rousselt
O365Con18 - Git and GitHub - Rick van RousseltO365Con18 - Git and GitHub - Rick van Rousselt
O365Con18 - Git and GitHub - Rick van Rousselt
 
stackconf 2021 | Prometheus in 2021 and beyond
stackconf 2021 | Prometheus in 2021 and beyondstackconf 2021 | Prometheus in 2021 and beyond
stackconf 2021 | Prometheus in 2021 and beyond
 
Demo
DemoDemo
Demo
 
Revolutionize Your Workflow with ChatOps
Revolutionize Your Workflow with ChatOpsRevolutionize Your Workflow with ChatOps
Revolutionize Your Workflow with ChatOps
 

Recently uploaded

FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 

Recently uploaded (20)

FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 

Get Hooked on Integrations with GitHub

  • 1. Get Hooked on Integrations With GitHub Christopher Thomas HighEdWeb 2016 10/17/2016
  • 3. Intro » What is Git? » What is Github? » GitHub Integrations » GitHub Webhooks » Webhook usage at Loma Linda University » Summary » Resources » Questions
  • 4. About Me: Christopher Thomas » Responsible for tools and technologies used to develop web apps at Loma Linda University » For many years, active in the web community through contributions » SoCal born and raised! » Marathon runner
  • 5. About Loma Linda University (LLU) » Location: 1 hour from Los Angeles » Students: 4,500+ » Programs: 100+ » Schools: 8 » Ownership: Privately owned by the Seventh-Day-Adventist Church » Mission: “To continue the teaching and healing ministry of Jesus Christ” » Other facts: ~ Institution mainly focused on health sciences at the graduate level ~ City of Loma Linda is the only Blue Zone in the country ~ No mascot, but “Good Samaritan” statue is an unofficial proxy ~ Institution is a part of a 6 hospital 1,000+ bed health system
  • 6. What is Git? » Source code version control » Developed by Linus Torvalds, the creator of Linux » Distributed » Full history of commits are in each copy of the repository » Users can make commits without being connected to the network » Can work without a main/central repository
  • 7. What is GitHub? » A git server / git repository hosting site » Has arguably the best web based UI of all git server solutions » Easily allows users to share code and to collaborate » Largest git repository hosting site » Comes in two versions ~ Cloud based (github.com) ~ On premise, VM appliance (GitHub Enterprise)
  • 8. What are Integrations and Webhooks? » Events in GitHub are broadcasted » Integrations are predefined event broadcasts to a specific vendor solution » Webhooks are user setup HTTP requests
  • 9. Types of Events » Fork » Branch » Issues (opened, closed, comments, assigned) » Push » Team (add, edit memberships, delete, etc..) » Merge
  • 10. Integrations » GitHub has over 70 predefined integrations » Lots of popular apps and services are on the list » Very little configuration needed to set up » Not all events are broadcasted for each integration » GitHub.com calls them integrations, GitHub Enterprise calls them services
  • 11. Integrations » Project Management ~ JIRA » Continuous Integration ~ TravisCI ~ Jenkins / Hudson (plugin needed) » Communication ~ #Slack ~ HipChat » Other
  • 12. Your Integration / Vendor Service Not on List? » Options: ~ Integrations Early Access Program ~ Webhooks
  • 13. Integrations Early Access Program » Used to be able to submit a Pull Request to submit an integration » Process recently changed to the integrations early access program » More formal process » Inclusion requirements more clearly stated than in the past
  • 15. Webhooks » Best when the integration you need can’t be handled by something in the integrations directory or eligible for the integrations early access program; when you need a custom integration » GitHub sends a HTTP POST request to a specified URL » POST body contains data about the event in either JSON or form data format » Can set up via settings webpage or via GitHub’s API » Can trigger webhook for all events or certain type of events
  • 16.
  • 17. Case study Webhooks usage at Loma Linda University
  • 18. Administrative Systems Department » Consists of roughly two dozen people with a mixture of programmer / business / application analysts and managers. » “We write the programs that run the University” » Develop mostly for the web using PHP for an in-house developed platform » Everyone in department has ability to push code to production
  • 19. MyLLU Portal » Web portal that serves the entire enterprise » Dozens of apps » 100,000s of lines of PHP code » Two instances of portal (internal vs external apps) » Types of apps: ~ Admissions committee tools ~ Collaboration tools ~ Finance tools ~ Identity management tools ~ Job board ~ Student forms workflow processing ~ Training requirements tracker
  • 20. Developer Workflow » Initial steps: ~ Developer forks main repository ~ Clones repo in their account ~ Adds main repository as a remote (upstream) » Development steps: ~ Create feature branch and push to origin, if working with others ~ Make code changes ~ Test on local VM ~ Commit Changes ~ Merge Changes back to master ~ Push master to upstream
  • 21. MyLLU Deployment Process » Before Git / GitHub ~ Developers would FTP files to production servers ~ Sometimes process would take minuets if code was in separate directories ~ Potential app downtime while code is copied to servers » After Git / GitHub ~ Webhook used to initiate code deployment ~ Code copied to servers in seconds ~ Minimized potential app downtime while code is copied
  • 22. MyLLU Deployment Process » Developer pushes code (upstream) to repository in our GitHub Enterprise instance » GitHub triggers the webhook, which contacts the intermediate server » Intermediate server pulls changes from GitHub to a local repo » Intermediate pushes code from local repo to production web servers » Intermediate server sends notice to all developers with commits in the push that their changes have been published
  • 24. Intermediate Server » Had to do for network policy reasons (not necessary in most enviroments) » Dedicated account used to process GitHub webhook » Must create SSH key pair so server can pull code from GitHub Enterprise and push code to production servers » Add newly created public key to GitHub as a deploy key
  • 26. Production Servers » Process based on Evanto Tuts+ article “Setting Up A Staging Environment” » Have a separate account just for the webhook process » SSH keys so intermediate server can connect » Two git repos ~ Bare repo in git process home repo ~ Regular repo in the webroot
  • 27. Summary » GitHub was built to integrate with other systems » Many predefined integrations for lots of vendor systems » Can ask for new intergration to be added through a formal process » Custom integrations can be done through webhooks » Loma Linda has leveraged webhooks to deploy code to its portal platform
  • 28. Resources » GitHub Integrations Directory ~ https://github.com/integrations » GitHub Early Access Integrations ~ https://developer.github.com/early-access/integrations/ » Setting Up a Staging Environment ~ https://code.tutsplus.com/articles/setting-up-a-staging-environment--net-29738 » Webhooks API Docs ~ https://developer.github.com/v3/repos/hooks/
  • 30. #DPA2

Editor's Notes

  1. Thank you ladies and gentleman for joining us for the second presentation of the day.
  2. Check out Brian’s presentation latter on today
  3. Over the years, it has grown into the largest git repository hosting site. The ease of use probably helped it get there. Comes in two flavors; Cloud and on-prem. The cloud based solution, github.com, free to use, as long as your repositories are publically available. If you want private repos, then you must pay a fee. The on-prem solution cost money. Universities can procure it for substantial discount, for administrative purposes, and possibly free for academic purposes.
  4. Only the events that make sense for that integration are broadcasted
  5. Some dev teams are using Slack as their chat tool. Gone are the days of IRC. With GitHub integrations, people in a Slack channel can monitor what’s going on in a repo. See what new issues there are, see who is committing code, or pushing code, etc. Lacy gave a red stapler award winning presentation last year about Slack
  6. Integrations Early Access Program should not be used with your custom system. As the requirements states there must be at least 500 GitHub users using the system.
  7. MyLLU Portal is Sensitive apps (like the finance tools, identity management tools, etc.) go on the internal version of the server.
  8. Because of the culture of the department, everyone has the ability to put code into production. We do not use pull requests
  9. At the time we added a deploy key, they were read write. If you are just using your deploy key to deploy code, GitHub now offers read-only access for deploy keys.
  10. .git directory in the webroot is not accessible via the web