Code Monkey home page Code Monkey logo

devopsisitech's Introduction

Changelog après notre passage

  • la commmande music play pour écouter de la musique !
  • et quelques autres ajouts mineurs à découvrir avec la commande help

Projet devOpsIsitech

Notre projet est un terminal de commande construit avec la bibliothèque React. il permet aux utilisateurs d'interagir à travers des commandes.

Table des Matières

Membre du Projet

  • Louis Maupas & Lucas Michon

Comment installer le Projet

  1. git clone https://github.com/LouisMaupas/devOpsIsitech.git

  2. cd devOpsIsitech/devOpsIsitech

  3. pnpm install

  4. pnpm run dev

Comment utiliser le projet

Tapez help pour avoir la liste des commandes

Technos & Conventions

  • Gestionnaire de paquets : pnpm
  • Front : React
  • Environnement de développement et de construction : Vite
  • Test : Jest
  • Linter : EsLint
  • Versionning et travail collaboratif : Git / Github
  • Plateforme de CI/CD : Github Actions
  • Hebergement : Vercel
  • Messages de commits : Conventional Commits
  • Utilisation de tag pour le versionning selon le standard de Gestion sémantique de version 2.0.0

Workflow de CI/CD

  • main : branche principal, contient le code qui va en production.
  • Dev : branche tampon entre main et les branches de feat/fix
  • feat# / fix# / ... : branche temporaire crée à partir de dev, dédiée à la résolution d'un bug ou création d'une nouvelle feature. Elle est fusionné à main puis supprimée une fois le ticket clos ou la feature ajoutée.

Voir ci-dessous pour le schéma récapitulatif du Workflow

Exemple d'ajout de fix

  1. Un premier développeur va ouvrir un ticket (issue) sur Github.
  2. Le développeur à qui est assigné le ticket suit le Workflow

Exemple d'ajout de la feature n°12

  1. Création d'une nouvelle branche locale nommée feat#12 à partir de la branche origin/Dev

    git switch -c feat#12
  2. En local, le développeur code la fonctionnalité et commit (avec squash si nécessaire).

  3. Une fois la feature terminée, le développeur push directement sur Dev et la pipeline s'active.

    • git checkout Dev ou git switch Dev pour switch sur la branche Dev.
    • git pull ⚠️🔺 pour vérifier qu'on est à jour 🔺⚠️
    • git merge currentFeatureOrFix pour fusionner la branche currentFeatureOrFix avec la branche dev.
    • git push on push sur la branche distante (origin/Dev).
    • git tag -a vX.X -m "Description" si nécessaire ajouté un tag...
    • git push --tags ...et l'envoyer.
  4. Sur Github, le développeur fait une demande de merge de la branche origin/Dev vers origin/main : Create Pull Request

  5. Un second développeur doit commenter, approuver ou demander des changement sur la demande de merge.

  6. La pipeline s'execute

CI/CD

  1. actions/checkout@v2 : est l'étape pour récupérer les sources de l'application depuis le référentiel Git.
  2. Install Vercel CLI : installe la dernière version du CLI Vercel.
  3. Clear Cache : vide le cache
  4. Install Dependencies : installe les dépendances pour l'application.
  5. Lint : execute l'outil de linting pour vérifier la qualité du code.
  6. Tests : execute les tests unitaires.

Tests

Notre pipeline intègre un job de tests, mais nous pouvons exécuter les tests manuellement avec la commande pnpm test.

Nous pouvons voir la couverture de test grâce à la commande
pnpm test -- --coverage

Notre taux de couverture est de 78.94%

La rédaction des tests est en cours ...

devopsisitech's People

Contributors

louismaupas avatar itoshuga avatar

Watchers

 avatar

devopsisitech's Issues

fix linter warning

Using target="_blank" without rel="noreferrer" (which implies rel="noopener") is a security risk in older browsers

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.