Erste Schritte für Unternehmen
Um wettbewerbsfähig zu bleiben, wird eine Methode zur Vereinfachung und Skalierung von DevSecOps benötigt, damit Teams sicheren Code schneller bereitstellen können. Dieser Leitfaden hilft bei der schnellen Einrichtung der Grundlagen für automatisierte Softwareentwicklung und -bereitstellung im Premium-Tarif mit Optionen zur Einbeziehung von Sicherheit, Compliance und Projektplanung aus dem Ultimate-Tarif.
GitLab SaaS oder GitLab Self-Managed
Soll GitLab die GitLab-Plattform verwalten oder wird eine eigene Verwaltung bevorzugt?
Premium oder Ultimate
Zur Bestimmung des passenden Tarifs sind folgende Aspekte zu berücksichtigen:
Gewünschte Sicherheit und Compliance
-
Secrets Detection, SAST und Container Scanning sind in Premium verfügbar.
-
Zusätzliche Scanner wie DAST, Dependencies, Cluster Images, IaC, APIs und Fuzzing sind in Ultimate verfügbar.
-
Umsetzbare Erkenntnisse, integriert in die Merge Request Pipeline und das Security Dashboard, erfordern Ultimate für Vulnerability Management.
-
Compliance Pipelines erfordern Ultimate.
-
Informationen zu Security Scannern und Compliance-Funktionen.
Anzahl der gewünschten Plätze bestimmen
Ein GitLab SaaS-Abonnement verwendet ein gleichzeitiges (Platz-)Modell. Die Zahlung erfolgt für ein Abonnement entsprechend der maximalen Anzahl von Nutzer(inne)n, die der Top-Level-Gruppe oder deren Untergruppen während des Abrechnungszeitraums zugewiesen sind. Nutzer(innen) können während des Abonnementzeitraums hinzugefügt und entfernt werden, solange die Gesamtzahl der Nutzer(innen) zu einem bestimmten Zeitpunkt die Abonnementanzahl nicht überschreitet.
SaaS-Abonnement erhalten
GitLab SaaS ist das Software-as-a-Service-Angebot von GitLab, das unter GitLab.com verfügbar ist. Für die Nutzung von GitLab SaaS muss nichts installiert werden, nur eine Registrierung ist erforderlich. Das Abonnement bestimmt, welche Funktionen für private Projekte verfügbar sind. Organisationen mit öffentlichen Open-Source-Projekten können sich aktiv für das GitLab for Open Source Program bewerben.
Funktionen von GitLab Ultimate, einschließlich 50.000 Compute-Minuten, sind für qualifizierte Open-Source-Projekte über das GitLab for Open Source Program kostenlos verfügbar.
Benötigte CI/CD Shared Runner-Minuten bestimmen
Shared Runner werden mit jedem Projekt und jeder Gruppe in einer GitLab-Instanz geteilt. Wenn Jobs auf Shared Runnern ausgeführt werden, werden Compute-Minuten verbraucht. Auf GitLab.com wird das Kontingent der Compute-Minuten für jeden Namespace festgelegt und durch den Lizenztarif bestimmt.
Zusätzlich zum monatlichen Kontingent können auf GitLab.com zusätzliche Compute-Minuten erworben werden, wenn benötigt.
Anzahl der gewünschten Plätze bestimmen
Ein GitLab Self-Managed-Abonnement verwendet ein gleichzeitiges (Platz-)Modell. Die Zahlung erfolgt für ein Abonnement entsprechend der maximalen Anzahl von Nutzer(inne)n, die der Top-Level-Gruppe oder deren Untergruppen während des Abrechnungszeitraums zugewiesen sind. Nutzer(innen) können während des Abonnementzeitraums hinzugefügt und entfernt werden, solange die Gesamtzahl der Nutzer(innen) zu einem bestimmten Zeitpunkt die Abonnementanzahl nicht überschreitet.
Self-Managed-Abonnement erhalten
Die eigene GitLab-Instanz kann installiert, verwaltet und gewartet werden. GitLab-Abonnementverwaltung erfordert Zugang zum Customers Portal.
GitLab Enterprise Edition aktivieren
Wenn eine neue GitLab-Instanz ohne Lizenz installiert wird, sind nur Free-Funktionen aktiviert. Um weitere Funktionen in GitLab Enterprise Edition (EE) zu aktivieren, muss die Instanz mit einem Aktivierungscode aktiviert werden.
Systemanforderungen überprüfen
Sowohl die unterstützten Betriebssysteme als auch die Mindestanforderungen für Installation und Nutzung von GitLab werden überprüft.
GitLab installieren
Installation auf dem Cloud-Anbieter (falls zutreffend)
Instanz konfigurieren
Die GitLab-Instanz wird entsprechend den Organisationsanforderungen konfiguriert.
Offline-Umgebung einrichten
Offline-Umgebung einrichten, wenn Isolation vom öffentlichen Internet erforderlich ist (typischerweise für regulierte Branchen)
Begrenzung der erlaubten CI/CD Shared Runner-Minuten erwägen
Zur Kontrolle der Ressourcennutzung auf Self-Managed GitLab-Instanzen kann das Kontingent der Compute-Minuten für jeden Namespace von Administrator(inn)en festgelegt werden.
GitLab Runner installieren
GitLab Runner kann auf GNU/Linux, macOS, FreeBSD und Windows installiert und verwendet werden.
GitLab Runner konfigurieren (optional)
GitLab Runner kann entsprechend den Anforderungen und Richtlinien konfiguriert werden.
Administration
Self-Managed erfordert Selbstverwaltung.
Funktionalitäten wie Secrets Management oder Authentifizierungsdienste können hinzugefügt oder bestehende Anwendungen wie Issue Tracker integriert werden.
Die Organisation und deren Nutzer(innen) werden konfiguriert. Nutzer(innen)rollen werden bestimmt und allen Zugang zu den benötigten Projekten gewährt.
In GitLab können Projekte zur Hosting der Codebasis erstellt werden. Projekte können auch zur Verfolgung von Issues, Arbeitsplanung, Code-Zusammenarbeit und kontinuierlichem Build, Test und Einsatz der integrierten CI/CD zur App-Bereitstellung verwendet werden.
Die Arbeit wird durch Erstellen von Requirements, Issues und Epics geplant. Arbeit wird mit Milestones geplant und die Zeit des Teams verfolgt. Zeitersparnis mit Quick Actions, GitLab Markdown-Text-Rendering und Git-Interaktion mit GitLab werden erlernt.
Quellcode wird zu einem Repository hinzugefügt, Merge Requests zum Code-Check-in erstellt und CI/CD zur Anwendungsgenerierung verwendet.
Zu verwendende Scanner bestimmen (alle sind standardmäßig aktiviert)
GitLab bietet sowohl Container Scanning als auch Dependency Scanning, um Abdeckung für alle diese Dependency-Typen zu gewährleisten. Um möglichst viel des Risikobereichs abzudecken, wird die Verwendung aller Security Scanner empfohlen.
Sicherheitsrichtlinien konfigurieren
Richtlinien in GitLab bieten Sicherheitsteams eine Möglichkeit, Scans ihrer Wahl zu verlangen, die ausgeführt werden, wann immer eine Projekt-Pipeline entsprechend der angegebenen Konfiguration läuft. Sicherheitsteams können daher sicher sein, dass die eingerichteten Scans nicht geändert, verändert oder deaktiviert wurden.
MR-Genehmigungsregeln und Sicherheitsgenehmigungen konfigurieren
Merge Request-Genehmigungsregeln und Sicherheitsgenehmigungen werden konfiguriert, um ordnungsgemäße Review-Prozesse sicherzustellen.
Die Anwendung wird intern oder öffentlich bereitgestellt. Flags werden verwendet, um Features schrittweise zu veröffentlichen.
GitLab bietet verschiedene Tools zur Unterstützung beim Betrieb und der Wartung von Anwendungen. Die für das Team wichtigsten Metriken können verfolgt, automatisierte Alerts bei Leistungsverschlechterung generiert und diese Alerts verwaltet werden - alles innerhalb von GitLab.
GitLab verfügt seit GitLab 8.4 über ein eigenes Anwendungsleistungsmesssystem namens "GitLab Performance Monitoring". GitLab Performance Monitoring ermöglicht die Messung einer Vielzahl von Statistiken.
Mit dem Aufkommen von DevSecOps- und SRE-Ansätzen wird Infrastrukturverwaltung kodifiziert, automatisierbar, und Best Practices der Softwareentwicklung gewinnen auch bei der Infrastrukturverwaltung an Bedeutung. GitLab bietet verschiedene Funktionen zur Beschleunigung und Vereinfachung der Infrastrukturverwaltungspraktiken.
Dies misst, wie oft Wert an Endnutzer(innen) geliefert wird. Eine höhere Bereitstellungsfrequenz bedeutet, dass Feedback schneller erhalten und schneller iteriert werden kann, um Verbesserungen und Features zu liefern.