Posts for: #Git

Simples deployment via git

Simples deployment via git

Das Problem

Egal ob Homepage, Konfigurationsdateien oder Programmcode: Für praktisch alle Projekte verwendet man heute git.

Möchte man jedoch Versionen automatisch ausrollen (z.B. statische HTML Dateien einer Webseite), benötigt man einige Skripte oder einen Build-Dienst wie z.B. Gitlab-CI, Jenkins oder CircleCI.

Oftmals reicht es jedoch die Daten auf das Zielsystem zu kopieren. Aber auch das geht mit git:

Ausgangssituation

Wie haben einen Server (für die Homepage), einen Laptop (für die Entwicklungsarbeit), sowie ein Git-Projekt (z.B. bei Github). Auf Github befindet sich unser Projekt. Auf Laptop wie auch auf dem Server haben wir uns mit git clone das Projekt eingerichtet.

Myrepos: Alle meine Repositories

Repository-Zentrale

Dank VCSH habe ich all meine Dotfiles hübsch in Git-Repositories verpackt.
Das Einbinden eines einzelnen Repositories geht nun zwar schnell von der Hand,
aber wenn nun für vim und mutt und emacs und und und … lauter
Repositories vorliegen wird es unbequem.
Auch das updaten (pull) jedes einzelnen Repos ist sehr mühselig und damit
fehleranfällig.

Abhilfe schafft hier myrepos (kurz mr),
dass es erlaubt Aktionen auf mehreren Repositories auszuführen.

Git-tfs

Git statt TFS?

Wer gerne mit git arbeitet, wünscht sich oft eine Brücke von anderen Versionsmanagement-Werkzeugen zu git.
So gibt es zur Nutzung von Subversion (snv) die Möglichkeit git-svn zu nutzen.
Was aber, wenn die Serverseite TFS{.broken_link} anbietet?

Konfigurationsdateien verwalten mit VCSH

Einstellungen

Was ist der erste Schritt bei der Benutzung eines Autos, einer Stereoanlage oder eines Schreibtischstuhls?
Die Einstellungen!
Natürlich will man gut aus dem Fahrzeug sehen können, der Lieblings-Musik lauschen und bequem sitzen.

Doch auch Software hat Einstellungen:

  • Welchen Editor setze ich als Standard?
  • Welche Shell-Erweiterungen lade ich in oh-my-zsh?
  • Welches color-theme lade ich in vim?
  • Welche Accounts habe ich in mutt?

Praktischerweise liegen all diese Einstellungen in Dateien (sogenannten “Dotfiles”), welche sich einfach von A nach B kopieren lassen.
Da ich jedoch regelmässig auf unterschiedlichen Rechnern arbeite, möchte ich diese aktuell halten.