Lernziele

  • Umgang mit dem Versionskontrollsystem Git
  • Ablage von Arbeitsergebnissen in einem "offiziellen" Repository
  • Einfaches Deployment durchgeführen und automatisieren können

In dieser Übungsaufgabe sollen Sie grundlegende handwerkliche Schritte durchführen, die Sie bei der Webentwicklung ständig benötigen werden. Vieles von dem, was Sie für diese Aufgabe anwenden müssen, benötigen Sie auch in anderen Bereichen außerhalb der Webentwicklung. Die Übungsaufgabe besteht aus 4 Teilen.

1. "Offizielles" Repository anlegen

Zunächst richten Sie sich ein Repository ein, das zur zentralen Ablage Ihrer Arbeitsergebnisse dient. Auf ein solches zentrales Repository können Sie sowohl von einem Laborrechner als auch von ihren privaten Geräten zugreifen, und dabei Ihre Arbeit synchron halten. Lesen Sie bei Bedarf in der offiziellen Git-Dokumentation (insbesondere Abschnitte 2.1 und 2.2, evtl. auch 2.5) nach.

  • Melden Sie sich auf https://studi.f4.htw-berlin.de/www/ mit Ihrem Fachbereichsaccount an.
  • Legen Sie ein neues Git-Repository für diese Aufgabe an.
  • Fügen Sie den Dozenten (Account: zieris) als "Berechtigten Nutzer" hinzu.
  • Klonen Sie Ihr frisch angelegtes Git-Repository auf Ihren Arbeitsrechner.

2. Erste Webseite erstellen

Im zweiten Schritt geht es darum, eine erste Datei zu erstellen, und so die Basis für alles weitere zu legen. Natürlich beginnen wir mit einem "Hallo, Welt!". Lesen Sie wiederum in der Git-Doku nach, wenn Sie bei einem Schritt Probleme haben.

  • Erstellen Sie eine Datei mit dem Inhalt Hallo, Welt!; speichern Sie sie als index.html im Wurzelverzeichnis der Arbeitskopie Ihres Git-Klons.
    • Tipp: Die Endung "html" ist hier nur für den Webserver relevant (siehe Aufgabe 3), der Inhalt dieser Datei braucht noch kein echtes HTML zu sein.
  • Öffnen Sie diese Datei in Ihrem Webbrowser, z.B. durch einen Doppelklick im Dateisystem-Browser.
  • Wenn Sie zufrieden sind, erstellen Sie einen Git-Commit, der diese Datei beinhält. Wählen Sie dabei eine aussagekräftige Commit-Message.
  • Pushen Sie diesen Commit in Ihr Repository auf f4.

3. Webserver vorbereiten und manuelles Deployment

Bisher haben Sie ihre Test-Datei nur lokal betrachtet. Um anderen Personen ebenfalls die Möglichkeit zu geben, Ihre Arbeit zu bewundern, müssen Sie diese "deployen", d.h. auf einen Webserver hochladen.

  • Richten Sie sich Ihren Webspace auf dem Webserver des Rechenzentrums ein. Folgen Sie dafür dieser Anleitung.
  • Achtung: Arbeiten Sie ab jetzt auf der Kommandozeile, dann fällt Ihnen die nächste Aufgabe viel leichter.
    • Tipp: Wenn Sie in einer Windows-Umgebung arbeiten, dann müssen Sie sich z.B. mit der Git-Bash behelfen, die standardmäßig zusammen mit Git installiert wird.
    • Tipp: Melden Sie sich einmalig via SSH auf dem HTW-Server an. Bei der ersten Anmeldung werden Sie gefragt, ob Sie dem Server ("Host") vertrauen. Wenn Sie diese Abfrage nicht bestätigen, werden Sie zukünftig bei jedem Deployment danach gefragt -- und das wollen Sie bestimmt nicht. Sie können die SSH-Sitzung dann mit exit beenden, da Sie alle weiteren Schritte lokal von ihrem Arbeitsplatzrechner ausführen.
  • Nutzen Sie SCP um Ihre index.html aus dem lokalen Arbeitsverzeichnis in den public_html-Ordner zu kopieren.
  • Stellen Sie sicher, dass Ihre "Hallo, Welt!"-Datei erreichbar ist, indem Sie sie von der Kommandozeile mit cURL abrufen. Die URL sollte die Form http://home.htw-berlin.de/~s0xxxxxx/ haben; die Ausgabe des cURL-Befehls sollte im Erfolgsfall "Hallo, Welt!" lauten.

4. Deployment automatisieren

Um nicht bei jeder kleinen Änderung mühsam wieder die richtigen Befehle herauskramen zu müssen, sollen Sie im letzten Schritt nun ein kleines Skript schreiben, das das Deployment automatisiert.

  • Speichern Sie die beiden Befehle (den scp-Befehl zum Kopieren der index.html auf den Webserver, und den curl-Befehl zur Überprüfung) in einem Shell-Skript, um zukünftig das Deployment "auf Knopfdruck" ausführen zu können.
    • Tipp: Ein solches Shell-Skript (Sie können es z.B. deploy.sh nennen) könnte in etwa so aussehen:
      #!/bin/bash
      scp ...  # copy to webserver
      curl ... # check results
    • Achtung: Tragen Sie niemals Ihr Passwort in ein Skript ein; nicht im Rahmen dieser Übung und auch sonst nicht.
  • Stellen Sie sicher, dass das Skript ausführbar ist (chmod +x deploy.sh).
  • Testen Sie Ihr Skript (./deploy.sh). Nehmen Sie eine Änderung an der index.html-Datei vor und deployen Sie sie: Ihre Änderungen sollten auf dem Webserver sichtbar sein.
    • Tipp: Wenn es Sie stört, dass Sie bei jedem SCP-Aufruf nach Ihrem Passwort gefragt werden, recherchieren Sie im Internet, woran das liegt, und was Sie dagegen tun können.
  • Erstellen Sie einen Git-Commit der sowohl ihr Deploy-Skript als auch die Änderungen an der index.html beinhaltet; pushen Sie diesen Commit ebenfalls in Ihr Repository auf f4.

Bewertungskriterien (max. 4 Punkte)

  • Repository auf f4 ist für Dozent einsehbar.
  • Repository beinhaltet Hallo-Welt-Datei.
  • Hallo-Welt-Datei ist auf http://home.htw-berlin.de/~s0xxxxxx/ abrufbar.
  • Repository beinhaltet funktionieres Skript für Deployment.