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'