Created by Björn Kimminich / @bkimminich
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.
Collaborative Git repository hosting service.
...cloud service providers with your code?
Fact #1: GitHub offers free hosting of public Git repositories!
...migrated away from Google Code?
Fact #2: Offering a sophisticated web-based graphical interface, GitHub still remains 100% compatible with the git
CLI.
...on Subversion?
Fact #3: GitHub supports collaborative development through e.g. forking and pull requests.
...CVS?
Fact #4: GitHub (optionally) adds an issue tracker, wiki and project page to each repository.
...no version control system at all?
Fact #5: Repository statistics and social extras like Feeds, Followers & Favorites are part of GitHub.
Individual & Third Party Service Integration
Simply put: User-defined HTTP
callbacks.
More specifically: HTTP POST
s that occur when something happens. So basically a simple event-notification via HTTP POST
.
Organization WebHooks send events for all repositories in that organization. New events for repository creation and team membership are also available on organization-level.
The Test Service function triggers the real Service once for the most recent commit!
push
notification tweetCode Kata for a two-player trading card game loosely based on Hearthstone - Heroes of Warcraft
Multi-module Gradle build using language specific plugins to build & test all sample implementations in one execution.
An intentionally insecure Javascript Web Application
in practical use in kata-tcg & juice-shop
Platform for delivering push notifications from virtually any application to an Android device.
*The number of receivable notifications per day is limited. Unlimited premium account available via in-app purchase.
For convenience you can use the same API Key for all your GitHub repositories.
push
to GitHubSimple Notification Service enables applications, end-users, and devices to instantly send and receive notifications from the cloud.
For convenience you can use the same SNS Topic for all your GitHub repositories.
push
*If you're not so much into JSON I'm sure you'll find a WebHook subscriber that is...
Hosted continuous integration service providing different runtimes for different languages.
pull
requestcommit
of a PROf course there is also a warning when the PR build failed.
.travis.yml
fileAutomated cross-browser and mobile testing in the cloud for CI.
The secure tokens are your SAUCE_USERNAME
and SAUCE_ACCESS_KEY
.
Works with continuous integration servers to provide test coverage history and statistics.
For each new API key NMA automatically creates an email address apikey@nmamail.net
that can be used for custom notifications.
Automated code review for Ruby, JS, and PHP providing feedback on code quality and test coverage.
Notification System for Software Libraries showing outdated dependencies in different supported project files.
Supported Languages: Java - Ruby - Python - PHP - Node.js - JS - Objective-C - Clojure - CSS - R
This graph shows all the dependencies brought into the JS implementation of kata-tcg by the used testing libraries!
Monitoring of project dependencies and alerts for updates and security vulnerabilities.
Build and Run Your Apps, Your Way.
Heroku offers a free small instance per personal application.
Heroku supports Ruby, Node.js, Python, Java, and PHP.
.travis.yml
By default only a successful build of the master
branch triggers a deployment.
Open platform for distributed applications for developers and sysadmins.
Dockerfile
of Juice ShopLightweight Kanban Board offering instant project management for GitHub issues.
Funding platform for open-source software where users can create/collect bounties and pledge to fundraisers.
Chat. For GitHub.
Disclaimer: Chatroom might appear more desolated on screenshot than in reality.
With granted repository access Gitter will setup its WebHook on GitHub automatically.
If the services you are using offer status badges for your README.md
...
These slides are publicly available on GitHub and Slideshare.
Copyright (c) 2015 Björn Kimminich