On Github bkimminich / github-service-universe
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 POSTs 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!
Code 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.
Simple 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.
*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.
Of course there is also a warning when the PR build failed.
Automated 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.
Provides software quality and security testing solutions.
Coverity limits the build submission frequency to 1-3 builds/day (and 2-12 builds/week) depending the project's LOC.
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.
Watching your Node dependencies.
Unfortunately David-DM (v9.0.0) can only discover Node.js projects with a package.json in the repository root folder.
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.
David-DM cooperates with Node Security Project to determine and link to 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.
By default only a successful build of the master branch triggers a deployment.
Open platform for distributed applications for developers and sysadmins.
Lightweight 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