Maison  >  Article  >  interface Web  >  VShell : flux de travail de mise en production

VShell : flux de travail de mise en production

Linda Hamilton
Linda Hamiltonoriginal
2024-11-23 22:57:11455parcourir

Cette semaine, je me prépare à lancer mon outil de ligne de commande, VShell, en production. Cette version permettra aux utilisateurs d'installer et d'utiliser VShell directement via npm sans avoir besoin de cloner et de créer le projet localement. Écrit en JavaScript avec Node.js, l'outil sera hébergé sur npm pour faciliter la distribution. Vous trouverez ci-dessous un aperçu détaillé des étapes que j'ai suivies pour réaliser cette version :

Automatisation du processus de construction

Pour assurer un build reproductible et automatisé, j'ai créé un script build.js à la racine du projet. Ce script copie tous les fichiers nécessaires dans un dossier dist, simplifiant ainsi le processus de construction.

VShell: Production Release Workflow

En plus, j'ai également mis en place un script pour l'exécuter dans package.json :

"build": "node build.js"

Pour l'exécuter, il suffit de taper : npm run build sur la console

Actuellement, je voulais juste démontrer une simple construction en copiant des fichiers, mais à l'avenir, si j'implémentais avec l'interface utilisateur, je devrais alors utiliser le script de bundle de modèles comme barbeau.

Implémentation du versioning sémantique

Auparavant, j'oubliais souvent de mettre à jour la version du projet après avoir apporté des modifications. Pour cette version, j'ai adopté le versioning sémantique pour communiquer clairement les modifications apportées à l'API du projet.

Compte tenu des mises à jour importantes depuis la v0.0.1, j'ai défini la version sur v1.0.0 en mettant à jour le champ version dans package.json. Cette version reflète une API stable avec des modifications importantes et de nouvelles fonctionnalités.

Marquer la version dans Git

Pour synchroniser la mise à jour de version avec les versions de GitHub, j'ai créé une balise Git pour la v1.0.0 :

git tag -a v1.0.0 -m "Release version 1.0.0"
git push origin --tags

Cela garantit que la version est correctement suivie dans le référentiel Git.

Déclaration des fichiers de package

Pour publier VShell en tant que package npm, j'ai explicitement défini les fichiers à inclure dans le package en utilisant le champ files dans package.json. Cela garantit que seuls les fichiers et répertoires nécessaires sont inclus dans le package publié.

Exemple :

VShell: Production Release Workflow

Publication sur npm

Pour publier VShell sur npm :

  • Inscrivez-vous et connectez-vous : j'ai créé un compte npm et je me suis connecté en utilisant : connexion npm
  • Publication : Une fois authentifié, j'ai publié le package : publication npm

Cela a rendu VShell disponible pour les utilisateurs via npm.

Mises à jour hors de portée

GitHub Dependabot a signalé un problème de sécurité avec le cross-spawn de dépendance transitive. Comme je ne l'ai pas installé directement, j'ai utilisé :

npm ls cross-spawn

pour identifier quel paquet en dépendait. J'ai découvert qu'eslint était la source et j'ai résolu le problème en mettant à jour eslint vers la dernière version.

De plus, j'ai mis à jour le README.md pour fournir des instructions d'installation claires aux utilisateurs de npm. J'ai également amélioré le fichier CONTRIBUTING.md pour guider les contributeurs dans la configuration et l'exécution de VShell localement.

Pour améliorer la précision, j'ai intégré les commentaires du professeur David Humphrey, élargissant et clarifiant la documentation du système GROQ.

Automatisation des versions avec les actions GitHub

Pour rationaliser le processus de publication, j'ai ajouté une tâche à mon flux de travail GitHub Actions pour automatiser la publication npm chaque fois qu'une nouvelle balise est poussée.

Ajout du flux de travail :

git tag -a v1.0.0 -m "Release version 1.0.0"
git push origin --tags

Principales caractéristiques :

Déclencheur conditionnel : La tâche de publication est déclenchée uniquement lorsqu'une balise (v*.*.*) est poussée.

Authentification npm : Utilisation d'un NPM_AUTH_TOKEN sécurisé stocké dans GitHub Secrets. Vous pouvez créer ce jeton en accédant à votre compte npm et en choisissant la section Jeton d'accès.

GitHub Release : génère automatiquement une version à l'aide de softprops/action-gh-release.

Conclusion

En suivant ces étapes, j'ai réussi à automatiser la publication de VShell sur npm. Les utilisateurs peuvent désormais installer et utiliser l'outil sans effort via :

npm install -g vshell

Ce processus rationalisé, associé à une gestion des versions, des dépendances et des mises à jour de la documentation appropriées, garantit une version professionnelle et conviviale de VShell.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn