Diese Woche habe ich mich mit der Einrichtung einer Continuous Integration (CI)-Pipeline mithilfe von GitHub Actions beschäftigt und gleichzeitig meine Suite von Unit-Tests für mein Projekt VShell erweitert. Der Prozess hat mein Verständnis von CI-Prinzipien, automatisierten Tests und den Tools verbessert, die Entwicklern helfen, eine zuverlässige Codebereitstellung sicherzustellen.
Kontinuierliche Integration ist eine Entwicklungspraxis, bei der Codeänderungen automatisch getestet und häufig in ein gemeinsames Repository integriert werden. Durch die Nutzung einer CI-Pipeline können Entwickler Probleme frühzeitig im Entwicklungszyklus erkennen und beheben, wodurch die Codequalität verbessert und Integrationsrisiken verringert werden. Eine CI/CD-Pipeline ermöglicht es uns, Anwendungen automatisch zu erstellen, zu testen und bereitzustellen, was die Entwicklung beschleunigt und die Zuverlässigkeit erhöht.
Es stehen zahlreiche CI-Tools zur Verfügung – unter anderem Jenkins, CircleCI, TravisCI und GitLab CI –, aber diese Woche habe ich mich auf GitHub Actions konzentriert, um CI/CD für meine Anwendung zu implementieren. GitHub Actions bietet ein integriertes, unkompliziertes Setup direkt in GitHub und ist daher eine gute Wahl für mein Projekt.
GitHub-Aktionen für mein Projekt konfigurieren Um eine CI-Pipeline einzurichten, habe ich zur Registerkarte „Aktionen“ meines GitHub-Repositorys navigiert und die Node.js-Vorlage ausgewählt, da meine Anwendung JavaScript-basiert ist und auf Node.js läuft. Dadurch wurde eine .yml-Konfigurationsdatei generiert, die das Verhalten der CI-Pipeline definiert.
Die YAML-Konfiguration verstehen Für CI-Neulinge könnte die .yml-Datei einschüchternd wirken. Hier ist eine Aufschlüsselung, wie es funktioniert:
Auslösen der Pipeline: Die Pipeline wird so eingestellt, dass sie immer dann ausgeführt wird, wenn eine Push- oder Pull-Anfrage an den Hauptzweig gestellt wird, wobei das Schlüsselwort „on“ verwendet wird, um diese Auslöser zu definieren.
Jobs definieren: Die Konfiguration umfasst eine Reihe von Jobs, die ausgeführt werden, wenn die CI-Pipeline ausgelöst wird. Diese Jobs geben eine Ubuntu OS-Build-Umgebung an, testen verschiedene Node.js-Versionen und enthalten Schritte zum Einrichten und Ausführen der Laufzeitumgebung. Abschließend werden die Tests automatisch ausgeführt, um den Code zu validieren.
Umgebungsvariablenkonfiguration Während meiner ersten Pipeline-Einrichtung bin ich auf einen Fehler im Zusammenhang mit GROQ_API_KEY gestoßen, der für bestimmte Tests wichtig und in meiner lokalen .env-Datei definiert ist. Während die Tests lokal reibungslos liefen, konnte GitHub Actions nicht auf die Variable zugreifen, was zu fehlgeschlagenen Ausführungen führte.
Lösung: Einrichten von GitHub-Geheimnissen Um dieses Problem zu beheben, habe ich in meinen GitHub-Repository-Einstellungen eine geheime Variable für den API-Schlüssel konfiguriert. Hier ist eine kurze Zusammenfassung des Fixes:
Das obige ist der detaillierte Inhalt vonImplementierung einer CI-Pipeline für VShell mit GitHub-Aktionen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!