Open Source im professionellen Einsatz
Linux-Magazin 01/2013
© jock+scott, photocase.com

© jock+scott, photocase.com

Github zweckentfremden

Alternativer Gebrauch

Github mit seiner einfach zu bedienende Weboberfläche lässt sich über seine Code-Archiv-Funktion hinaus für ganz und gar artfremde Dinge benutzen. Perlmeister Schilli zum Beispiel pflanzt mit Github ein Contentmanagement-System für einfache Webseiten in die Landschaft.

553

Auf Github.com arbeitet die Open-Source-Gemeinde an ihren Projekten, und die ehemalige Startup-Firma aus San Francisco hat auf diese Weise einige Berühmtheit erlangt. Mittlerweile stellen sich sogar finanzielle Erfolge ein. Auch gilt die Firma im erweiterten Silicon Valley schon als Vorzeigebeispiel dafür, wie man talentierte Entwickler anlockt [2]. So nimmt es nicht Wunder, dass die in der offenen Basisversion kostenlos angebotenen Repositories, der damit verbundene Plattenplatz und zuverlässiges Webhosting für allerlei Daten herhalten, die bei der Verleihung des Titels "Open-Source-Projekt des Jahres" niemand auf dem Zettel hat.

Wer hat sich nicht schon darüber geärgert, dass auf einem neuen Rechner die eigenen, über Jahre gepflegten Konfigurationsdateien wie ».bashrc« oder ».vimrc« noch nicht installiert sind? Da diese Dateien selten Geheimnisse enthalten, hat es sich eingebürgert, sie auf Github in einem Repository namens »dotfiles« einzubunkern. Wer jetzt in einer unterkonfigurierten Umgebung strandet, braucht nur einen Browser, um die vertrauten Dateien von einer leicht zu findenden Internetseite nachzuholen.

Hosting für lau

Aber es geht noch mehr. Nicht jeder Github-Nutzer weiß zum Beispiel, dass Entwickler dort auch ganz normale Webseiten hosten können. Wer auf dynamisch generierte Inhalte verzichtet und sich auf HTML, Javascript und Fotos beschränkt, kann mit einem kostenlosen Github-Account durchaus eine private Webseite zusammenstellen und online halten [3]. Vermeintlicher Nachteil: Auf Github gehostete Inhalte sind öffentlich als Open Source zugänglich – aber das sind sie auf einer statischen Webseite implizit sowieso.

Für seine Website legt der Github-Nutzer in einem neu angelegten Repository einen neuen Branch namens »gh-pages« an, stellt eine Datei »index.html« hinein und führt ein »git commit« mit anschließendem »push« aus. Jetzt darf er unter »http://Username.github.com/Repository-Name« staunend mit ansehen, wie seine neue Website auf einmal im Internet steht. Das Ganze ist kostenlos, und die Github-Infrastruktur hält die Site zuverlässig am Laufen.

Abbildung 1 zeigt den im Github-Repository »perlsnapshot« im Zweig »gh-pages« angelegten "Sourcecode" einer statischen HTML-Seite. Github erzeugt daraus automatisch – unmittelbar nach einem Push – eine auf einem öffentlich zugänglichen Webserver liegende und unter einer recht kurzen URL abrufbare Projektseite, Abbildung 2 zeigt sie.

Abbildung 1: Github.com eröffnet Technikmuffeln die Möglichkeit, Textdateien direkt im Browser zu editieren und hosten zu lassen.

Abbildung 2: Technisch und optisch ein Highlight: Die automatisch von Github aus der Source im Branch gh-pages generierte Projektseite.

Online PLUS

In einem Screencast demonstriert Michael Schilli das Beispiel: http://www.linux-magazin.de/plus/2013/01.

Los geht's mit einem Klon

Um den erforderlichen Branch »gh-pages« in einem neu generierten Repository anzulegen, klont

git clone git@github.com/user/repo.git

dieses zunächst, und der User führt im Branch »master« einen einzigen Commit aus, zum Beispiel den einer Readme-Datei. Den für die Projektseite notwendigen Branch »gh-pages« erzeugt:

git checkout -b gh-pages

In diesem Branch legt der Webentwickler die Datei »index.html« und eventuell von dort referenzierte Bilder ab, zum Beispiel in einem Unterverzeichnis »fig« , und zimmert sie mit »git add« und »git commit« im Repository fest. Die neuesten Branch-Daten landen mit

git push origin gh-pages

bei Github. Der Dienst stößt daraufhin die automatische Seitengenerierung an.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 4 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Linux-Magazin kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • Perl-Snapshot

    Ein neuer Service auf Travis-ci.org listet fein säuberlich Github-Projekte eines Entwicklers auf, schickt den Code bei jedem Push durch deren Testsuites und gibt Rückmeldung, falls der Build bricht. In den zurückgelieferten Testergebnissen machen neugierige Perl-Skripte Zusatzinformationen sichtbar.

  • Perl-Snapshot

    Der Projekthoster Github beherbergt nicht nur die Code-Repositories vieler bekannter Open-Source-Projekte, sondern bietet auch ein durchdachtes API an, mit dem sich in ihnen herrlich herumschnüffeln lässt.

  • Umzugshelfer

    Der Webdienst Github erleichtert es Programmierern, einen Beitrag zu Open-Source-Projekten zu leisten, denn er vereinfacht und beschleunigt die Kommunikation zwischen Projekt-Maintainern und willigen Mitwirkenden radikal. Perl-Modulen ebnet ein Skript den Weg von CVS zu Git.

  • Überall Projekte

    Wie erhält der neu gekaufte Laptop schnellstmöglich Kopien aller aktiv genutzten Git-Repositories? Ein Meta-Repository führt eine Projektliste und Perl-Skripte automatisieren alle Aufspür- und Klonvorgänge.

  • Stets zu Diensten

    Der Complete-Mechanismus der Shell vervollständigt angefangene Eingaben, sobald der User die Tabulator- taste drückt. Ein Perl-Skript erweitert die Funktion maßgeschneidert.

comments powered by Disqus

Ausgabe 08/2016

Artikelserien und interessante Workshops aus dem Magazin können Sie hier als Bundle erwerben.