Heim > Web-Frontend > js-Tutorial > Hauptteil

Implementierung einer CI-Pipeline für VShell mit GitHub-Aktionen

Susan Sarandon
Freigeben: 2024-11-17 00:38:03
Original
544 Leute haben es durchsucht

Einführung

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.

Was ist kontinuierliche Integration?

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.

Einrichten der CI-Pipeline mit GitHub-Aktionen

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.

Implementing a CI Pipeline for VShell with GitHub Actions

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.

Meine Erfahrung

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:

  • Ich habe zu den Einstellungen des Repositorys navigiert und GROQ_API_KEY als Geheimnis unter Einstellungen > hinzugefügt. Geheimnisse.
  • In der .yml-Datei habe ich das Schlüsselwort env hinzugefügt, um die Pipeline anzuweisen, diesen Schlüssel abzurufen, um sicherzustellen, dass die Tests darauf zugreifen können, ohne vertrauliche Daten in der Konfigurationsdatei fest zu codieren.

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!

Quelle:dev.to
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage