Skip to main content

Publication d'une nouvelle version

La publication d'une nouvelle version d'Open ENT consiste à :

  • livrer les JARS dans un référentiel de librairies
  • publier les containers dans un registre de container

Publication dans un référentiel de librairies

Open ENT est configuré par défaut pour livrer les librairies dans 2 référentiels : Nexus et GitHub package.

Publication dans un référentiel de librairies Nexus

Nexus Repository Manager est un outil de gestion de référentiels qui permet de stocker, gérer et distribuer des artefacts logiciels, tels que des fichiers JAR (Java ARchive), des fichiers WAR, des bibliothèques, et d'autres types de fichiers binaires. Voici les principales utilisations de Nexus en ce qui concerne les JARs

Pour livrer une nouvelle version d'Open ENT dans Nexus

Publication dans le Nexus https://nexus.tech.fr/

mvn deploy -Pdeploy -Pdeploy-nexus

Publication dans un réferentiel de librairies GitHub

Le référentiel GitHub Package Registry (ou GitHub Packages) est un service de gestion d'artefacts fourni par GitHub qui permet de stocker, gérer et distribuer des packages ou des artefacts logiciels directement à partir de GitHub.

Publication dans le gestionnaire de package GitHub

mvn deploy -Pdeploy -Pdeploy-github

GitHub Packages

Publication des containers dans un régistre de containers

Un registre de conteneurs (ou container registry) est un service qui stocke et distribue des images de conteneurs Docker ou OCI. Ces images sont pré-construites et peuvent être tirées (pulled) par des environnements d'exécution de conteneurs (comme Docker, Docker Compose (utilisé pour le déploiement en local ou sur un serveur) ou Kubernetes (déploiement sur un serveur )) pour créer des instances de conteneurs.

Les containers Docker sont déployés suivant le profil Maven dans 2 registres de container différents :

  • avec le profil -Pdeploy-ghcr, les containers serons déployés dans ghcr.io/pass-tech-developpement/open-ent
  • avec le profil -Pdeploy-nexus-registry, les containers serons déployés dans nexus-docker.tech.fr/pass-tech-developpement/open-ent

Suivant le profil Les containers peuvent être alors récupéré manuellement de la façon suivante.

docker pull ghcr.io/pass-tech-developpement/open-ent/catalog:1.2.0
docker pull nexus-docker.tech.fr/pass-tech-developpement/open-ent/catalog:1.2.0

Le nom et la version du container dépendent de du pom.xml.

Préciser une version particulière

Comme pour la construction des modules, il est possible de construire les containers avec une version particulière

mvn install -Pjib -Dquarkus.container-image.tag=1.0.1-dev 
Accès aux registres de container

Par défaut JIB utilise la configuration Docker installé. Vous devez réaliser une commande docker login avec votre registre de container pour pouvoir publier un container.

Exemple :

docker login nexus-docker.tech.fr

Le token est alors conservé dans votre répertoire $HOME/.docker/config.json et utilisé par JIB lors des commandes Maven.

Publication complète d'Open ENT

Une livraison complète d'Open ENT pour déployer à la fois les containers avec la partie frontend se fera avec la commande :

mvn install -Pdeploy-ghcr -Pfrontend

Publication du launcher

Pour le moment, il est nécessaire de préciser les prorpriétés en ligne de commande car toutes propriétés du profil ne sont pas utilisés par defaut

mvn -Pdeploy-ghcr -Dquarkus.container-image.push=true -Dmaven.test.skip=true \
-Dquarkus.container-image.registry=ghcr.io \
-Dquarkus.container-image.group=pass-tech-developpement \
-Dquarkus.container-image.name=open-ent/launcher