DevOps Flashcards

(18 cards)

1
Q

Was versteht man unter DevOps?

A

Kultur & Methodik, die Entwicklung und IT-Betrieb verbindet
Ziele: schnellere, zuverlässigere Software-Releases
Kern: Zusammenarbeit, Automatisierung, CI/CD, kürzere Entwicklungszyklen

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Was bedeuten die Begriffe CI und CD im DevOps-Kontext?

A

CI (Continuous Integration):
Häufiges Zusammenführen von Code mit automatischem Build und Test
CD (Continuous Delivery/Deployment):
Continuous Delivery: Software ist nach CI jederzeit auslieferbar (meist manuelles Go-Live)
Continuous Deployment: Automatisches Ausrollen bis Produktion nach erfolgreicher Pipeline
Ziel:
Schnelle, fehlerarme Releases durch Automatisierung

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Warum ist Automatisierung so wichtig in DevOps?

A

Ermöglicht schnelle, fehlerfreie und wiederholbare Abläufe
Vermeidet manuelle Fehler, spart Zeit
Automatisiert Builds, Tests, Infrastruktur, Deployments (z. B. CI/CD, IaC)
Führt zu mehr Releases und höherer Qualität

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Was ist eine CI/CD-Pipeline? Beschreibe typische Schritte.

A

CI/CD-Pipeline:
Automatisierte Abfolge vom Code-Commit bis zum Deployment
Typische Schritte:
Build (Code kompilieren/verpacken)
Test (automatisierte Tests)
(Optional) Codeanalyse, Security-Scan
Deploy to Staging (Testumgebung)
Deploy/Release to Production (Produktion, manuell oder automatisch)
Ziel:
Schnelle, wiederholbare, fehlerarme Auslieferung von Software

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Was ist der Unterschied zwischen Continuous Delivery und Continuous Deployment?

A

Continuous Delivery:
Code jederzeit auslieferbar, Deployment auf Produktion erfolgt manuell
Continuous Deployment:
Deployment auf Produktion passiert automatisch nach jedem erfolgreichen Pipeline-Run
Unterschied:
Grad der Automatisierung im letzten Schritt (manuell vs. vollautomatisch)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Was ist Git und warum wird es im DevOps-Umfeld fast überall eingesetzt?

A

Git:
Verteiltes Versionsverwaltungssystem für Code
Nutzen im DevOps:
Nachvollziehbare Code-Historie, parallele Entwicklung über Branches
Basis für Automatisierung: CI/CD-Trigger, Infrastruktur als Code
Erlaubt Code Reviews (Pull/Merge Requests)
De-facto-Standard, schnelle, effiziente Zusammenarbeit

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Was ist der Unterschied zwischen Git und GitHub (bzw. GitLab/Bitbucket)?

A

Git:
Versionskontrollsystem (lokal, CLI), verwaltet Repos und Code-Historie
GitHub/GitLab/Bitbucket:
Plattformen zum Hosten von Git-Repos mit Zusatzfunktionen (Web-Oberfläche, Issues, Pull-Requests, CI/CD, Zusammenarbeit)
Unterschied:
Git = reines Tool, GitHub & Co. = Services mit Teamfunktionen rund um Git

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Wie initialisiert man ein neues Git-Repository in einem Projektordner?

A

Im Projektordner ausführen, um ein neues lokales Git-Repository zu erstellen
Erstellt .git-Verzeichnis für Versionsverwaltung
Danach Dateien mit git add hinzufügen und mit git commit speichern

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Was bewirkt git status?

A

zeigt den Zustand des Arbeitsverzeichnisses und des Staging-Bereichs an.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Was ist der Unterschied zwischen git add und git commit?

A

Mit git add markiert man Änderungen zur Aufnahme in den nächsten Commit.
git commit erstellt dann einen neuen Commit

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Was ist ein Branch in Git und wofür verwendet man Branches?

A

Branch (Git):
Paralleler Entwicklungszweig der Code-Historie (z. B. für Features/Bugfixes)
Nutzen:
Gleichzeitige Entwicklung ohne Hauptzweig zu stören
Zusammenführung (Merge) später möglich
Fördert Code-Organisation und Zusammenarbeit

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Was ist ein Merge in Git und wie löst man Merge-Konflikte?

A

Merge (Git):
Kombiniert Änderungen zweier Branches (z. B. feature → main)
Merge-Konflikt:
Entsteht, wenn beide Branches dieselbe Stelle geändert haben
Git markiert Konflikte im Code («««< HEAD …)
Entwickler löst Konflikte manuell, entfernt Markierungen, führt git add und git commit aus
Tools:
Viele IDEs unterstützen beim Lösen von Konflikten

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Was bedeutet HEAD in Git?

A

ist ein Zeiger auf den aktuellen Commit im aktuell ausgecheckten Branch.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Wie kann man den letzten Commit rückgängig machen

A

git revert <Commit-ID>:
Macht letzten Commit mit einem neuen Commit rückgängig (Undo bleibt sichtbar)
git reset HEAD~1:
Entfernt letzten Commit, als wäre er nie passiert (History wird geändert, nur lokal machen)</Commit-ID>

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Was ist ein Fork eines GitHub-Repositorys?

A

Kopie eines fremden Repos im eigenen Account
Ermöglicht unabhängige Änderungen und Beiträge (z. B. via Pull Request)
Bleibt mit dem Original verknüpft, Upstream-Änderungen können übernommen werden
Typisch für Open-Source-Beiträge

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Was ist ein Pull Request bzw. Merge Request?

A

Anfrage, Änderungen eines Branches in einen anderen einzufügen
Enthält Commits, Code-Diff, Kommentare, Review- und Merge-Möglichkeit
Zentral für Teamarbeit und Code-Review (GitHub: Pull Request, GitLab: Merge Request)

17
Q

Was bedeutet “shift left” in Bezug auf DevOps und CI/CD?

A

Testen, Qualitätssicherung und Security möglichst früh im Entwicklungsprozess integrieren
Probleme werden schneller erkannt und behoben
Erhöht Softwarequalität, verkürzt Feedback-Zyklen

18
Q

Was bedeutet GitOps?

A

Infrastruktur und Deployments werden als Code im Git-Repo versioniert
Automatisierungstools setzen den gewünschten Zustand aus Git im Cluster um
Änderungen laufen über Pull Requests und Commits
Vorteile: Nachvollziehbarkeit, Rollbacks, keine manuellen Ad-hoc-Änderungen