Sobes.tech
Middle

Comment effectuez-vous le déploiement des applications?

sobes.tech IA

Réponse de l'IA

Le processus de déploiement dépend de l'ampleur du projet et de l'infrastructure utilisée, mais en général je suis les étapes suivantes :

  1. Compilation du projet : J'utilise des bundlers comme Webpack, Rollup ou Vite pour transpiler le code, minifier, optimiser les ressources.
  2. Tests : Je réalise des tests automatisés (unitaires, d'intégration, end-to-end) pour vérifier le bon fonctionnement.
  3. Versionnage : Je crée une étiquette git ou un commit pour fixer la version de la release.
  4. Déploiement en staging (optionnel) : Déploiement sur un serveur de test pour une vérification finale par l'équipe.
  5. Déploiement en production :
    • Charger les fichiers construits sur le serveur web (Nginx, Apache) ou CDN.
    • Mettre à jour les fichiers de configuration (si nécessaire).
    • Appliquer les migrations (pour le backend, si applicable).
    • Redémarrer le serveur web ou le service.
  6. Vérification post-déploiement : Je vérifie le bon fonctionnement en environnement de production, monitoring des métriques.

J'utilise des outils CI/CD (GitHub Actions, GitLab CI, Jenkins) pour automatiser la majorité de ces étapes, ce qui assure cohérence et réduit la probabilité d'erreurs.

Exemple d'un pipeline CI/CD simple pour le déploiement sur un hébergement statique :

# .github/workflows/deploy.yml
name: Déploiement sur GitHub Pages

on:
  push:
    branches:
      - main # Déclencheur lors d'un push sur la branche main

jobs:
  build-and-deploy:
    runs-on: ubuntu-latest # Système d'exploitation utilisé

    steps:
    - name: Vérifier le code
      uses: actions/checkout@v2 # Récupération du code du dépôt

    - name: Configurer Node.js
      uses: actions/setup-node@v2 # Configuration de Node.js
      with:
        node-version: '16' # Version spécifique de Node.js

    - name: Installer les dépendances
      run: npm ci # Installation des dépendances

    - name: Construire le projet
      run: npm run build # Exécuter le script de build depuis package.json

    - name: Déployer sur GitHub Pages
      uses: peaceiris/actions-gh-pages@v3 # Action pour déployer sur GitHub Pages
      with:
        github_token: ${{ secrets.GITHUB_TOKEN }} # Token d'accès
        publish_dir: ./dist # Dossier du projet construit (dépend de la configuration du bundler)