Slideshare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our User Agreement and Privacy Policy.

Slideshare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our Privacy Policy and User Agreement for details.

Exploring the GitHub Service Universe

PDF version of the slide deck for my JavaLand 2015 talk "All-round careful Software Development with GitHub Services"

Tools for unit testing, building applications, analyzing software quality and planning release scopes are an essential aspect of modern software development. With GitHub and "pluggable" external services there are lots of options to move these aspects into "the Cloud". For open source projects this is a viable alternative to on-premise solutions. In this talk I will present and demonstrate the CI lifecycle of some of my recent projects hosted on GitHub where I tried to integrate modern tools (e.g. Gradle, npm, bower) and external services (e.g. Travis-CI, Code Climate, Coveralls, HuBoard, AmazonSNS, NMA). The benefits and limitations of those services will be honestly illuminated. I am not affiliated with any of the providers mentioned, so this talk will not end up as a marketing show! Instead, the audience is supposed go out of this talk with some new things to try out with their own GitHub projects while hopefully being able to avoid some of the ramp-up difficulties.

3.
Disclaimer
This is not a marketing talk. It is a compilation of personal experience
gathered while working on two of my own public repositories. I am
neither affiliated with nor paid or otherwise reimbursed by GitHub or
any other company behind the products mentioned in this presentation.
No product evaluation or comparison study of any kind was conducted
prior to choosing the services presented here.
Only services that are entirely free for open source projects are
presented in this talk.

14.
WebHooks on GitHub
Subscription to events on GitHub.com
Used to integrate individual applications or tools
Installation on or
Types & payloads mirror the
organization repository level
Event API

15.
Service Hooks on GitHub
Service Hooks can only be installed on repositories
Only one Service Hook per integrator
Supported events depend on service implementation
Services come with their own unique configuration

16.
Account Level Integration
Close integration with GitHub by demanding repo or account access
Do not require any manual setup by the user on the GitHub page
Configured by the service provider via its own user interface

17.
Integration Chain
3rd party does not integrate directly with GitHub
Instead integration with APIs of other service providers
Very useful in Continuous Integration context. Example:

18.
What way of Integration should I use?
GitHub recommends WebHooks for all new integrations
If required use to manage authorization
The existing is not accepting any new services
OAuth
github-service repo

20.
Repository WebHook Event Types
Organization WebHooks send events for all repositories in that organization. New events for repository creation and team
membership are also available on organization-level.

96.
Dependency status with security advisory
A module without security warnings might still contain undiscovered vulnerabilities! On the other hand proven vulnerabilities
of a module might be irrelevant in the context it is used in.