Nabugu - stock.adobe.com
Git für Netzwerktechniker: Eine Einführung
Git kann ein nützliches Tool für Netzwerktechniker sein, die komplexe Infrastrukturen verwalten, da sich Networking, Software, Automatisierung und DevOps zunehmend überschneiden.
Die Zeiten, als Netzwerkexperten Konfigurationsänderungen in einem Netzwerk manuell überprüft haben, sind vorbei. In der sich ständig weiterentwickelnden digitalen Gesellschaft können Netzwerkteams Netzwerkautomatisierung, DevOps und Infrastructure as Code (IaC) nutzen, um das Konfigurationsmanagement zu optimieren.
Heutzutage gibt es in vielen Unternehmen Teams, die über die ganze Welt verteilt sind, oft mit einer Mischung aus Remote- und Hybrid-Mitarbeitern. Die Verwaltung dieser Mitarbeiter und der sie unterstützenden Netzwerke ist dank Automatisierung und Versionskontrollsystemen (Version Control System, VCS), zum Beispiel Git, einfacher geworden.
Netzwerktechniker können mit Git Netzwerkkonfigurationsdateien verwalten, gemeinsam an Projekten arbeiten, Änderungen an Konfigurationen überwachen und die Dokumentation verbessern.
Wie Git funktioniert
Git ist ein verteiltes VCS, das eine Datenbank verwendet, um Änderungen zu verfolgen, die von Netzwerktechnikern oder Entwicklern bei der Arbeit am gleichen Projekt vorgenommen werden. Ein VCS speichert verschiedene Dateien und zeichnet alle an ihnen durchgeführten Änderungen auf. Somit können Teams Änderungen vergleichen oder zurücknehmen und sehen, wer die Datei geändert hat.
Git hilft, die Verantwortlichkeiten zu klären. Wenn jemand Änderungen vornimmt, kann Git den Code oder die Netzwerkkonfigurationen schützen, indem das Tool es den Benutzern ermöglicht, jede Änderung zu überprüfen. Ein Code-Commit speichert zum Beispiel eine Codeänderung und sendet sie an das Repository. Die Teams können hierarchische Ordner und Tags verwenden, um innerhalb des Codes anzugeben, wer wann eine Änderung durchgeführt hat.
Git verwendet eine Prüfsumme, um die Integrität des Repositorys zu verifizieren. Es erkennt Beschädigungen mithilfe eines kryptografischen SHA-1-Hashs (Secure Hash Algorithm 1), der durch einen Prüfsumme mit 40 hexadezimalen Zeichen dargestellt wird.
Bevor wir uns mit den einzelnen Befehlen befassen, erläutern wir im Folgenden einige Begriffe aus der Git-Terminologie:
- Lokaler Workspace: Ein Workspace (auch Arbeitsbereich genannt) ist das Arbeitsverzeichnis auf einem lokalen Rechner, in dem Benutzer Änderungen an Projektdateien vornehmen. Es handelt sich um einen Projektordner, in dem die Benutzer laufende Projekte speichern, bevor sie sie zu einem Repository hinzufügen.
- Staging-Bereich: Benutzer können Commits in einem Staging-Bereich vor der Übernahme in ein Repository bearbeiten und überprüfen. Dieser Index verfolgt Änderungen im Arbeitsverzeichnis.
- Haupt- oder lokales Repository: Ein Repository ist der GIT-Ordner, der alle Projektdateien und den Projektverlauf enthält. Benutzer können im Repository, das sich auf einem Arbeitsplatzrechner befindet, Dateien hinzufügen, Änderungen übertragen und Dateien löschen.
Die Stärke von Git liegt in der Möglichkeit, Branches (Verzweigungen) zu verwenden, bei denen es sich um separate Versionen des Haupt-Repositorys handelt. Branches ermöglichen es den Benutzern, gleichzeitig an verschiedenen Versionen zu arbeiten, ohne die Hauptversion des Projekts zu verändern. Die Nutzer können wählen, ob sie gegebenenfalls die Änderungen im Hauptprojekt zusammenführen wollen oder ihre Versionen getrennt halten möchten. Branches sind vergleichbar mit der Arbeit in verschiedenen Verzeichnissen unter Linux.
Praktische Beispiele mit Git
Der beste Weg, sich als Netzwerktechniker mit Git vertraut zu machen, ist die tägliche Praxis. Folgend finden Sie einige grundlegende Befehle für die ersten Schritte mit Git.
1. Git config
Der Befehl git config legt die Benutzerinformationen für verschiedene Repositories fest. Mit diesem Befehl lassen sich Benutzernamen, E-Mail-Adressen und Konfigurationseinstellungen für die einzelnen Benutzer einrichten.
2. Git init
Der Befehl git init erstellt ein neues Repository und initialisiert eine GIT-Datei, die ein Unterverzeichnis mit allen Repository-Metadaten und -Datenstrukturen enthält.
3. Git clone
Der Befehl git clone lädt ein Remote Repository von einer bestimmten URL herunter. Das Kommando erstellt eine Arbeitskopie eines Repositorys, so dass Benutzer Änderungen am Remote Repository bearbeiten, übertragen und zurücknehmen können.
4. Git status
Der Befehl git status zeigt den Status eines Git-Repositorys und dessen Dateien an. Er informiert zum Beispiel darüber, ob eine Datei geändert, hinzugefügt, bereitgestellt oder gelöscht wurde. Das Kommando zeigt auch nicht nachverfolgte Dateien an, die hinzugefügt oder geändert wurden, wie nachfolgend rot dargestellt.
5. Git add
Der Befehl git add fügt alle angegebenen Dateien und deren Inhalt aus einem lokalen Workspace, wie hier grün dargestellt, zum Staging-Bereich beziehungsweise Index hinzu. Dieser Befehl ist erforderlich, bevor ein Commit durchgeführt wird.
6. Git commit
Das Kommando git commit fasst den Verlauf aller vorgenommenen Änderungen an einem lokalen Repository zusammen und speichert ihn. Dieser Befehl hält Autoren, Zeitstempel und Commit-Meldungen fest. Mit git commit -m lässt sich eine Commit-Nachricht hinzufügen, wie nachfolgend gezeigt.
7. Git log
Der Befehl git log führt die Commits eines Repositorys in chronologischer Reihenfolge auf. Das Protokoll enthält Informationen wie den Commit-Hash, den Autor, das Datum und die Commit-Nachricht.
Networking-Anwendungsfälle für Git
Folgend finden Sie einige Möglichkeiten, wie Netzwerktechniker Git für die Versionskontrolle, Netzwerkkonfiguration und Skriptverwaltung nutzen können.
Anwendungsfälle für die Versionskontrolle | Anwendungsfälle für die Netzwerkkonfiguration | Anwendungsfälle für die Skriptverwaltung |
Konfigurationsmanagement | Einfache Nachverfolgung von Änderungen an der Konfiguration im zeitlichen Verlauf | Bash-Skripte zur Automatisierung täglicher Aufgaben |
Dokumentation | Nachverfolgung von Änderungen an der Netzwerktopologie und anderen netzwerkrelevanten Änderungen | Automatisierung täglicher Aufgaben mit Python-Skripten |
Troubleshooting | Anpassen von Konfigurationen und Rollback beim Troubleshooting | |
Nachverfolgung von Codeänderungen und Codeverwaltung | Backups von Netzwerkgeräten |
Git, Ansible, Python und CLI im Vergleich
Sowohl Git als auch Ansible und Python sind kostenlose Open Source Tools, die bei der Softwareentwicklung und dem Infrastrukturmanagement helfen. Aber jedes Tool dient einem spezifischen Zweck.
Bei Git handelt es sich um ein verteiltes VCS, das schnell und gleichzeitig skalierbar ist. Es dient in erster Linie der Verfolgung von Änderungen am Quellcode und der Softwareentwicklung.
Ansible ist ein Automatisierungs-Tool, das bei der Systemkonfiguration und -verwaltung hilft. Es kann Aufgaben auf Netzwerkgeräten, Servern und in Cloud-Umgebungen automatisieren.
Python ist eine Programmiersprache und bleibt der De-facto-Standard für die Netzwerkautomatisierung. Sie ist wegen ihrer klaren Syntax, Lesbarkeit und Debugging-Möglichkeiten populär.
Die Kommandozeile (Command Line Interface, CLI) stellt eine allgemeine Schnittstelle dar, über die Benutzer mit einem Computer interagieren können. Git ist ein spezielles Tool, das sich über die Kommandozeile nutzen lässt.
Git kann sowohl mit Python als auch mit Ansible interagieren, um die Verwaltung von Quellcode zu erleichtern. Im Rahmen eines Automatisierungs-Workflows kann Ansible beispielsweise mit Git Quellcode aus einem Repository abrufen.
Vorteile von Git
Entwickler und Netzwerktechniker bevorzugen Git als verteiltes VCS aufgrund seiner Geschwindigkeit und Skalierbarkeit. Ohne Git kann es schwierig sein, eine komplexe Netzwerkinfrastruktur zu managen. Zu den weiteren Vorteilen von Git gehören folgende Aspekte:
- Git ist das am häufigsten eingesetzte VCS in der Softwareentwicklung. Es zeichnet sich durch eine umfangreiche Dokumentation und eine große Community aus, was die Zusammenarbeit und Automatisierung verbessert.
- Die Branching-Funktionen von Git unterstützen die Zusammenarbeit von verteilten Teams auf der ganzen Welt.
- Es ist quelloffen und kostenlos.
Nachteile von Git
Obwohl Git viele Vorteile bietet, gibt es auch einige Nachteile. Dazu zählen die folgenden Punkte:
- Git ist anfangs nicht leicht zu erlernen, insbesondere für Netzwerktechniker, die mit den Konzepten der Softwareentwicklung noch nicht vertraut sind.
- Es bedarf einiger Übung, um das Tool, die Terminologie, Funktionen und Prozesse zu verstehen.
- Git kann aufgrund der Größe des Repositorys erhebliche Storage-Ressourcen beanspruchen.
Best Practices für Git
Folgend finden Sie einige Best Practices, die Netzwerktechniker bei der Arbeit mit Git berücksichtigen sollten:
- Richten Sie ein Repository ein.
- Verwenden Sie stets Namenskonventionen für Branches.
- Schützen Sie den Haupt-Branch.
- Erstellen Sie einen Standard für Commit-Nachrichten.
- Nutzen Sie Tagging.
- Verwenden Sie Pull Requests, um Änderungen zusammenzuführen.
Git ist ein mächtiges Tool. Angesichts der zunehmenden Bedeutung von Automatisierung und Software im Networking könnte die Fähigkeit, mit Git umzugehen, zu einer Schlüsselqualifikation für Netzwerktechniker beim Management komplexer Infrastrukturen werden.