Diese Woche bereite ich die Freigabe meines Befehlszeilentools VShell für die Produktion vor. Mit dieser Version können Benutzer VShell direkt über npm installieren und verwenden, ohne das Projekt lokal klonen und erstellen zu müssen. Das in JavaScript mit Node.js geschriebene Tool wird zur einfacheren Verteilung auf npm gehostet. Nachfolgend finden Sie eine detaillierte Aufschlüsselung der Schritte, die ich befolgt habe, um diese Veröffentlichung zu erreichen:
Um einen reproduzierbaren und automatisierten Build zu gewährleisten, habe ich im Stammverzeichnis des Projekts ein build.js-Skript erstellt. Dieses Skript kopiert alle erforderlichen Dateien in einen dist-Ordner und vereinfacht so den Erstellungsprozess.
Außerdem habe ich auch ein Skript eingerichtet, um es in package.json auszuführen:
"build": "node build.js"
Um es auszuführen, müssen Sie nur Folgendes eingeben: npm run build auf der Konsole
Derzeit wollte ich nur einen einfachen Build durch Kopieren von Dateien demonstrieren, aber wenn ich in Zukunft mit der Benutzeroberfläche implementieren würde, müsste ich das Template-Bundle-Skript als Barbel verwenden.
Früher habe ich oft vergessen, die Projektversion zu aktualisieren, nachdem ich Änderungen vorgenommen hatte. Für diese Version habe ich semantische Versionierung eingeführt, um Änderungen in der Projekt-API klar zu kommunizieren.
Angesichts der bedeutenden Aktualisierungen seit Version 0.0.1 habe ich die Version auf Version 1.0.0 festgelegt, indem ich das Versionsfeld in package.json aktualisiert habe. Diese Version spiegelt eine stabile API mit wichtigen Änderungen und neuen Funktionen wider.
Um das Versionsupdate mit GitHub-Releases zu synchronisieren, habe ich ein Git-Tag für v1.0.0 erstellt:
git tag -a v1.0.0 -m "Release version 1.0.0" git push origin --tags
Dadurch wird sichergestellt, dass die Veröffentlichung ordnungsgemäß im Git-Repository verfolgt wird.
Um VShell als npm-Paket zu veröffentlichen, habe ich die Dateien, die in das Paket aufgenommen werden sollen, mithilfe des Dateifelds in package.json explizit definiert. Dadurch wird sichergestellt, dass nur die erforderlichen Dateien und Verzeichnisse im veröffentlichten Paket enthalten sind.
Beispiel:
So veröffentlichen Sie VShell auf npm:
Dadurch wurde VShell für Benutzer über npm verfügbar.
GitHub Dependabot hat ein Sicherheitsproblem mit dem transitiven Abhängigkeits-Crosspawn gemeldet. Da ich es nicht direkt installiert habe, habe ich Folgendes verwendet:
npm ls Cross-Spawn
um zu identifizieren, welches Paket davon abhängt. Ich entdeckte, dass eslint die Quelle war und löste das Problem, indem ich eslint auf die neueste Version aktualisierte.
Zusätzlich habe ich README.md aktualisiert, um klare Installationsanweisungen für npm-Benutzer bereitzustellen. Ich habe auch die Datei CONTRIBUTING.md verbessert, um Mitwirkenden eine Anleitung zum lokalen Einrichten und Ausführen von VShell zu geben.
Um die Genauigkeit zu erhöhen, habe ich das Feedback von Prof. David Humphrey einbezogen und die Dokumentation des GROQ-Systems erweitert und klargestellt.
Um den Veröffentlichungsprozess zu optimieren, habe ich einen Job zu meinem GitHub Actions-Workflow hinzugefügt, um die npm-Veröffentlichung zu automatisieren, wann immer ein neues Tag gepusht wird.
Workflow-Ergänzung:
git tag -a v1.0.0 -m "Release version 1.0.0" git push origin --tags
Hauptmerkmale:
Bedingter Auslöser: Der Freigabejob wird nur ausgelöst, wenn ein Tag (v*.*.*) gepusht wird.
npm-Authentifizierung: Verwendung eines sicheren NPM_AUTH_TOKEN, das in GitHub Secrets gespeichert ist. Sie können dieses Token erstellen, indem Sie zu Ihrem npm-Konto gehen und den Abschnitt „Zugriffstoken“ auswählen.
GitHub-Release: Erzeugt automatisch ein Release mit softprops/action-gh-release.
Durch Befolgen dieser Schritte habe ich die Veröffentlichung von VShell auf npm erfolgreich automatisiert. Benutzer können das Tool jetzt mühelos installieren und verwenden über:
npm install -g vshell
Dieser optimierte Prozess sorgt in Verbindung mit ordnungsgemäßer Versionierung, Abhängigkeitsverwaltung und Dokumentationsaktualisierungen für eine professionelle und benutzerfreundliche Veröffentlichung von VShell.
Das obige ist der detaillierte Inhalt vonVShell: Produktionsfreigabe-Workflow. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!