Skip to main content

Commandes supplémentaires

Voici quelques commandes supplémentaires permettant de simplifier le développement.

Commandes Backend avec Quarkus

Lister les dépendances

mvn dependency:list

Lister les dépendances avec Quarkus

Les dépendances sont présentées de façon hiérarchique

mvn quarkus:dependency-tree

Créer un container utilisable avec Docker et construit avec Jib

Le container est construit avec JIB

mvn install -Dquarkus.container-image.build=true -Dquarkus.container-image.tag=1.0.0 -Dquarkus.jib.docker-executable-name=docker -Dquarkus.container-image.registry=nexus.tech.fr

Tester un container avec différents paramètres

Pour tester un module sous forme de container, il est nécessaire de passer le volume /open-ent/data et le port à exposer par le container.

1/ Paramètres de logging

Il est possible de préciser un niveau particulier de logs par package java.

Dans cet exemple, le package fr.wseduc sera avec un niveau DEBUG

docker run -p 8089:8089 -v /open-ent/data:/open-ent/data -e QUARKUS_LOG_CATEGORY__fr.wseduc__LEVEL=DEBUG  ghcr.io/pass-tech-developpement/open-ent/appregistry:1.0.1-dev

2/ Paramètres de debug

Le container Docker est démarré avec un packaging specifique pour le developpement

  • Paramètre : QUARKUS_LAUNCH_DEVMODE=true

    Effet : Lance l'application en mode "dev". Cela active des fonctionnalités comme :

    • Rechargement à chaud des classes et des ressources.
    • Une sortie de logs plus verbeuse pour faciliter le débogage.
    • Le panneau d'administration de Quarkus (si activé par défaut).
  • Paramètre : quarkus.package.jar.type=mutable-jar

    Effet : Spécifie que l'application doit être empaquetée comme un JAR mutable. Cela permet de modifier les fichiers dans le répertoire target sans avoir à recompiler ou reconstruire le conteneur. En mode mutable-jar, Quarkus conserve une structure de répertoire décompressée pour faciliter le rechargement des classes et des ressources.

docker run -p 8089:8089 -v /open-ent/data:/open-ent/data -e QUARKUS_LOG_CATEGORY__fr.wseduc__LEVEL=DEBUG -e QUARKUS_LAUNCH_DEVMODE=true -e quarkus.package.jar.type=mutable-jar ghcr.io/pass-tech-developpement/open-ent/appregistry:1.0.1-dev

Commande Frontend avec Nx

Formatter le code avec Prettier

yarn nx format:write

Copier un fichier dans un container déployé dans Kubernetes

Par défaut les containers Docker construit avec JIB ne contiennent pas les outils comme tar qui sont utilisés par la commande kubectl cp.

Pour copier un fichier, il est nécessaire d'utiliser cette commande :

cat /open-ent/data/i18n/fr.json | k exec -i openent-portal-5b6468d6cf-vsvsz -- sh -c 'cat > /open-ent/data/i18n/fr.json'