Gitlab - 4.1 Création d’une application NodeJs

Nous allons maintenant en apprendre davantage sur les artefacts dans GitLab. Pour cela, partons directement d'un exemple concret avec un nouveau projet baptisé artefact-demo que vous savez déjà créer. Clonez-le en HTTPS sur votre poste, basculez sur la branche dev et ouvrez le projet dans Visual Studio Code. Cette fois, nous allons créer une application Node.js très basique pour servir de support à notre pipeline.

Node.js, npm et Express

Node.js est un environnement d'exécution JavaScript open source et multiplateforme qui permet d'exécuter du code JavaScript en dehors d'un navigateur. Il est principalement utilisé pour développer des applications côté serveur et réseau qui nécessitent une connexion persistante, comme les applications de chat, les flux d'actualités ou les notifications web. npm (Node Package Manager) est le gestionnaire de paquets par défaut de Node.js : il permet d'installer des bibliothèques, plugins et frameworks tiers en ligne de commande, par exemple via npm install express.

Créons un fichier index.js et collons-y le code de l'application. Celle-ci utilise le framework Express, le standard pour créer des serveurs web Node.js. La première ligne déclare une variable express qui contient le module Express via require. Une variable app reçoit ensuite l'instance Express. Une variable port définit le numéro de port (80). Le bloc suivant définit les endpoints : sur une requête GET, l'application renvoie un message en réponse. Enfin, la méthode listen démarre le serveur sur le port défini.

  • index.js : code applicatif avec Express et endpoint GET
  • package.json : métadonnées et liste des dépendances
  • apt install nodejs : installation de Node
  • apt install npm : installation de npm
  • npm install : installation des dépendances du projet
  • node index.js : exécution de l'application

Notre application nécessite Express comme dépendance. Pour la gérer, on crée un fichier package.json à la racine du projet : ce fichier contient toutes les métadonnées (version, scripts, dépendances). On y déclare express avec sa version minimale. Si vous avez plusieurs dépendances, listez-les ici. Sauvegardez les deux fichiers index.js et package.json.

Exécutons maintenant l'application localement pour comprendre les commandes à écrire dans notre futur pipeline. On installe d'abord Node.js avec apt install nodejs. Premier essai de node index.js : erreur, le module Express est introuvable. Solution : npm install qui lit package.json et installe automatiquement les dépendances dans node_modules. Mais npm n'est pas encore installé : apt install npm, puis npm install. Enfin, node index.js démarre le serveur sur http://localhost:80 : on ouvre le lien et le message de succès s'affiche. Il ne reste plus qu'à pousser ce projet vers GitLab et à écrire le pipeline .gitlab-ci.yml.