Warnung
Garden 0.12.x EOL: Garden Acorn ( 0.12.x
) erhält Sicherheitsupdates bis zum 30. Juni 2024. Danach wird es veraltet sein und wir werden den Support einstellen. Siehe Ankündigung.
Wenn Sie Garden lieben, ★ markieren Sie dieses Repository bitte, um Ihre Unterstützung zu zeigen. Suchen Sie Unterstützung? Treten Sie unserem Discord bei.
Schnellstart • Website • Dokumente • Beispiele • Blog • Discord
Garden ist ein DevOps-Automatisierungstool zum schnelleren Entwickeln und Testen von Kubernetes-Apps.
Richten Sie produktionsähnliche Umgebungen für Entwicklung, Tests und CI nach Bedarf ein
Verwenden Sie für jede Phase der Softwarebereitstellung dieselben Konfigurationen und Arbeitsabläufe
Beschleunigen Sie Builds und Testläufe durch intelligentes Caching.
Der schnellste Einstieg in Garden ist die Befolgung unserer Schnellstartanleitung.
Eine ausführliche Einführung in Garden und eine umfassende Dokumentation finden Sie in unseren Dokumenten.
Garden wird über garden.yml
Dateien konfiguriert. Bei großen Projekten können Sie die Dateien aufteilen und zusammen mit den relevanten Teilen Ihres Stapels ablegen, sogar über mehrere Repositorys hinweg.
Eine (vereinfachte) Garden-Konfiguration für eine Web-App sieht so aus:
kind: Deployname: dbtype: helmspec: chart:name: postgresrepo: https://charts.bitnami.com/bitnami---kind: Buildname: apitype: containersource: path: ./api---kind: Deployname: apitype: kubernetesdependencies: [build.api,ploy.postgres]spec:Dateien: [./manifests/api/**/*]---kind: Testname: integtype: Containerdependencies: [deploy.api]spec: args: [npm, run, test:integ]
Sie können dieses Projekt erstellen und bereitstellen mit:
Garten einsetzen
...und testen Sie es mit:
Gartentest
Um bei jeder Pull-Anfrage eine Vorschauumgebung zu erstellen, würden Sie Ihrer CI-Pipeline Folgendes hinzufügen:
Garden Deploy --env Vorschau
Garden verfügt außerdem über einen speziellen Modus namens „Synchronisierungsmodus“, der Änderungen an Ihren laufenden Diensten live neu lädt und so eine blitzschnelle Rückmeldung während der Entwicklung gewährleistet. Um es zu aktivieren, führen Sie Folgendes aus:
Gartenbereitstellung --sync
Sie können auch eine interaktive Entwicklungskonsole starten (siehe Screenshot oben), von der aus Sie Ihr Projekt erstellen, bereitstellen und testen können mit:
Gartenentwickler
Der Stack Graph ist eine Schlüsselfunktion von Garden, die eine effiziente Entwicklung, Tests und DevOps-Automatisierung ermöglicht. Mit dem Stack Graph können Sie die Abhängigkeitsstruktur Ihres Projekts deklarieren und Änderungen verfolgen, um unnötige Builds, Bereitstellungen und Testläufe zu vermeiden. Es ist wie eine CI/CD-Konfiguration, die Sie zusätzlich für die Entwicklung verwenden können. Ohne den Stack Graph wären viele dieser Funktionalitäten, die Garden von seinen Mitbewerbern unterscheiden, nicht möglich oder wären deutlich weniger effizient.
Effiziente Builds und Bereitstellungen: Mit dem Stack Graph kann Garden ermitteln, welche Teile Ihres Projekts geändert wurden und neu erstellt oder bereitgestellt werden müssen, wodurch unnötige Arbeit vermieden und der Entwicklungsprozess beschleunigt wird.
Automatisierte Tests: Garden kann dank Stack Graph automatisch Tests für die Teile Ihres Projekts durchführen, die sich geändert haben. Dies spart Zeit, da alle Teile Ihres Abhängigkeitsdiagramms bekannt sind und zwischengespeichert werden.
DevOps-Automatisierung: Mit dem Stack Graph kann Garden viele Aspekte des DevOps-Prozesses automatisieren, einschließlich Erstellen, Testen und Bereitstellen Ihres Projekts.
Weitere Informationen zum Stack Graph und zur Funktionsweise von Garden finden Sie unter:
Wie Garten funktioniert
Eine Videotour durch den Stack Graph und eine Anleitung für den Einstieg
Garden ist steckbar : Die Ausführung von Aktionen hängt von den verwendeten Plugins ab. Unser Kubernetes-Plugin ist derzeit das beliebteste, gefolgt von unseren Terraform- und Pulumi-Plugins. Eine ausführlichere Einführung in Garden und seine Plugins finden Sie in unseren Dokumenten:
Kubernetes-Plugin
Terraform-Plugin
Pulumi-Plugin
Treten Sie unserer Discord-Community bei, um Fragen zu stellen, Feedback zu geben oder einfach nur Hallo zu sagen?
Garten nimmt Beiträge entgegen! Weitere Informationen finden Sie in unserem Beitragsleitfaden.
Garden ist gemäß Mozilla Public License 2.0 (MPL-2.0) lizenziert.