RSS GitLab
Folgen
Eingaben für CI/CD: Sichere und bevorzugte Methode zum Übergeben von Parametern an eine Pipeline
Eingaben in GitLab CI/CD sind eine moderne Lösung für die Übertragung von Pipeline-Parametern, die typisierte Parameter mit Validierung und klaren Verträgen anbieten. Traditionelle CI/CD-Variablen, ursprünglich für die Konfiguration gedacht, weisen Zuverlässigkeits- und Sicherheitsprobleme aufgrund ihrer nur-String-Natur und ihrer Laufzeit-Änderbarkeit auf. Eingaben eliminieren diese Probleme, indem sie Typsicherheit durchsetzen, unerwartete Fehler verhindern und Kollisionen von Variablen minimieren.Variablen fehlen die Typ-Validierung, was zu Laufzeit-Fehlern führt, wenn Zahlen oder Boolesche Werte erwartet werden, aber Zeichenfolgen empfangen werden. Sie sind auch während der Laufzeit änderbar, was zu unvorhersehbarem Verhalten führt, wenn mehrere Jobs die gleichen Variablen ändern. Darüber hinaus können Variablen Sicherheitsrisiken darstellen, da sie oft die gleichen Zugriffsrechte wie sensible Geheimnisse ohne klare Unterscheidung erben.Die Fehlererkennung mit Variablen ist oft verzögert, was CI/CD-Ressourcen und Entwicklerzeit verschwendet. Umfassende Workarounds sind erforderlich, um Zuverlässigkeit mit Variablen zu gewährleisten. Lokales Debugging ist schwierig aufgrund der Abhängigkeit von externen Systemen.Die Vorrangigkeit von Variablen in GitLab kann zu unvorhersehbarem Verhalten führen, insbesondere bei wiederverwendbaren Pipeline-Komponenten über verschiedene Projekte hinweg. Diese Komplexität erfordert umfassende Dokumentation für Template-Autoren. Eingaben werden jedoch zur Pipeline-Erstellung ausgewertet, was die Interpolation in verschiedenen Konfigurationselementen ermöglicht, einschließlich von Job-Namen.Diese Funktion verhindert Kollisionen von Job-Namen, wenn wiederverwendbare Komponenten mehrmals aufgenommen werden. Eingaben unterstützen verschiedene Werttypen und validieren sie zur Pipeline-Erstellung, lehnen Pipelines mit Typ-Fehlern vor der Ausführung ab. Dies bietet sofortige Rückmeldung, im Gegensatz zu den verzögerten Fehlern, die bei Variablen üblich sind.Eingaben verbessern die Sicherheit, indem sie explizite Parameter-Erwartungen definieren und einmal gesetzt unveränderbar sind. Dies schafft klare Grenzen für die Parameter-Übertragung, was die Gesamtrobustheit und Wartbarkeit von Pipelines verbessert. Der Übergang zu Eingaben bietet erhöhte Zuverlässigkeit und Effizienz für CI/CD-Workflows.