Projet local

Nous allons travailler avec un projet NodeJS, contenant la base d'un API. Vous trouverez le projet ici :

devops-sample-main.zip

Téléchargez, décompressez, et ouvrez le projet dans VSCode, et relancez votre projet dans un Dev Container (avec Docker). Suivez les instructions dans le README.md afin de lancer une version fonctionnelle de l'api.

Lancez votre api en local :

npm install

npm run server

Vous saurez si tout fonctionne correctement si vous arrivez à consulter le chemin d'information à http://localhost:5055/info dans un navigateur web.

curl http://127.0.0.1:5055/info

# Resultat :
{"title":"DevOps Code Samples API","host":"4c320d7f5a06","platform":"linux","type":"Linux"}

Jetez un coup d'œil au fichier docker-compose.dev.yml. Il s'agit de l'environnement de développement qui crée deux conteneurs, un pour VSCode (basé sur l'image node:20), et un autre pour faire tourner une base de données MariaDB.

services:
  vscode_devops_api:
    image: rg.fr-par.scw.cloud/devops-code-samples-vscode/vscode_devops:2.0.1
    command: /bin/bash -c "while sleep 1000; do :; done"
    working_dir: /home/dev
    networks:
      - api-devops-network
    volumes:
      - ./:/home/dev:cached
    labels:
      api_logging: "true"      
    
  dbms:
    image: mariadb
    restart: always
    ports:
      - "3379:3306"
    environment: 
      - MYSQL_ALLOW_EMPTY_PASSWORD=false
      - MYSQL_ROOT_PASSWORD=rootpassword
    command: [
      "--character-set-server=utf8mb4",
      "--collation-server=utf8mb4_unicode_ci",
    ]
    volumes:
      - ./.data:/var/lib/mysql
    networks:
      - api-devops-network

networks:
  api-devops-network:
    driver: bridge
    name: api-devops-network

Nous allons construire une image Docker similaire à vscode_devops_api que nous allons déployer dans un cluster Kubernetes !

Dernière mise à jour