SlideShare une entreprise Scribd logo
1  sur  30
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

Contenu connexe

Tendances

Learning git
Learning gitLearning git
Learning gitSid Anand
 
Intro to Git, GitHub, and Devpost
Intro to Git, GitHub, and DevpostIntro to Git, GitHub, and Devpost
Intro to Git, GitHub, and DevpostAndrew Kerr
 
Git - An Introduction
Git - An IntroductionGit - An Introduction
Git - An IntroductionBehzad Altaf
 
Intro to Git and GitHub
Intro to Git and GitHubIntro to Git and GitHub
Intro to Git and GitHubUri Goldstein
 
Teaching a Designer to Use GitHub
Teaching a Designer to Use GitHubTeaching a Designer to Use GitHub
Teaching a Designer to Use GitHubLiam Dempsey
 
Introduction to Git / Github
Introduction to Git / GithubIntroduction to Git / Github
Introduction to Git / GithubPaige Bailey
 
Bitbucket git-bamboo-jira
Bitbucket git-bamboo-jiraBitbucket git-bamboo-jira
Bitbucket git-bamboo-jiralenamattt
 
Git, GitHub and Open Source
Git, GitHub and Open SourceGit, GitHub and Open Source
Git, GitHub and Open SourceLorna Mitchell
 
Java EE with NetBeans on OpenShift
Java EE with NetBeans on OpenShiftJava EE with NetBeans on OpenShift
Java EE with NetBeans on OpenShiftMarkus Eisele
 
Git installation and configuration
Git installation and configurationGit installation and configuration
Git installation and configurationKishor Kumar
 

Tendances (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
 

En vedette

You Broke It, You Bought It
You Broke It, You Bought ItYou Broke It, You Bought It
You Broke It, You Bought ItTim Senft
 
Stop Repeating Yourself: Modularized WordPress Development
Stop Repeating Yourself: Modularized WordPress DevelopmentStop Repeating Yourself: Modularized WordPress Development
Stop Repeating Yourself: Modularized WordPress Developmentjmbarne3
 
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 Redesignlisacatto
 
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 ExperienceSylvia 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 XUGregory 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 GenerationArdis 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 GovernanceTim 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 #mcs3Tiffany Beker
 
That is Not My Job
That is Not My JobThat is Not My Job
That is Not My JobRobin 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 AccessibilityJustin 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 DessertsJackie 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 ChatsDavid 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 WorldRachel 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 conversionKate Wehner
 
The New Analytics of Web Governance
The New Analytics of Web GovernanceThe New Analytics of Web Governance
The New Analytics of Web GovernanceShane 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 EducationShane Diffily
 

En vedette (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
 

Similaire à 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 DeployHubDevOps.com
 
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 SourcePrachitibhukan
 
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/CDDevOps_Fest
 
Design Microservice Architectures the Right Way
Design Microservice Architectures the Right WayDesign Microservice Architectures the Right Way
Design Microservice Architectures the Right WayC4Media
 
Smart development environments
Smart development environmentsSmart development environments
Smart development environmentsWojciech 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 Workflowsstc-siliconvalley
 
Git hub ppt presentation
Git hub ppt presentationGit hub ppt presentation
Git hub ppt presentationAyanaRukasar
 
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 ProjectVincent Massol
 
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 RousseltNCCOMMS
 
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 beyondNETWAYS
 
Revolutionize Your Workflow with ChatOps
Revolutionize Your Workflow with ChatOpsRevolutionize Your Workflow with ChatOps
Revolutionize Your Workflow with ChatOpsTessa Mero
 

Similaire à 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
 

Dernier

A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 

Dernier (20)

A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 

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

Notes de l'éditeur

  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