ONBOARDING
Accès aux différents sites
- Tuleap
- Slack
- Teams
- Jenkins
Procédure d’installation de Vitam Core
Un script d'installation est disponible. Pour la procédure: Installation avec script
Prérequis
Linux (x86) ou MacOS (y compris Apple Silicon)
Logiciels: - IntelliJ IDEA 24 (Ultimate recommandé) - Plugin multirun - Code style: VitamStyle_Spotless.xml - Maven 3.9.X et nvm - Java 17 JDK - Docker (utiliser Rancher Desktop pour Mac)
Matériels: - Mémoire vive: 16GiB - Stockage: 20GiB
Récupération du code et mise en place de l’environnement de travail
Cloner le code sur https://gitlab.dev.programmevitam.fr/vitam/vitam.git ainsi que le jeu de données de test sur https://github.com/ProgrammeVitam/vitam-itests.git. Nous présumons que le dossier du code source se nomme vitam_repo par la suite.
S’assurer que JAVA_HOME et M2_HOME sont renseignés dans le .bashrc ou équivalent (On peut obtenir M2_HOME avec la commande mvn -version )
Dans le fichier vitam_repo/sources/pom.xml désactiver les modules ihm-demo et ihm-recette
Installer node 18 avec la commande nvm install 18 && nvm use 18
Dans les paramètres IntelliJ: Editor > Code Style > Scheme > Import Scheme > IntelliJ IDEA code style XML et sélectionner le code style téléchargé plus tôt
Copier le répertoire vitam_repo/vitam-conf-dev/intellig-conf/runConfigurations vers vitam_repo/.idea/runConfigurations (si le dossier existe déjà, remplacer le contenu.)
Relancer Intellij IDEA.
Editer le fichier /etc/hosts (ou équivalent) et y ajouter les enregistrements suivants:
# Vitam 127.0.0.1 access-external.service.consul 127.0.0.1 access-internal.service.consul 127.0.0.1 external.service.consul 127.0.0.1 functional-administration.service.consul 127.0.0.1 ingest-external.service.consul 127.0.0.1 ingest-internal.service.consul 127.0.0.1 logbook.service.consul 127.0.0.1 metadata.service.consul 127.0.0.1 offer-fs-1.service.consul 127.0.0.1 offer.service.consul 127.0.0.1 processing.service.consul 127.0.0.1 security-internal.service.consul 127.0.0.1 storage.service.consul 127.0.0.1 workspace.service.consul
Création de l’arborescence /vitam
Vitam Core a besoin d’avoir un dossier stockant des données dans la racine de l’ordinateur. Voici l’arborescence nécessaire :
/vitam/ ├── conf ├── data │ ├── ihm-recette │ │ └── test-data │ └── storage ├── log └── tmp
S’assurer que tous les répertoires appartiennent à votre utilisateur (chown)
Créer dans /vitam/data/storage un fichier nommé fr.gouv.vitam.storage.offers.workspace.driver.DriverImpl avec le contenu offer-fs-1.service.consul
Créer un lien symbolique de /vitam/data/ihm-recette/test-data/data vers vitam-itests/data (vitam-itests étant le deuxième dépôt cloné au départ.)
Copier vitam_repo/vitam-conf-dev/conf vers /vitam/conf.
Aller dans /vitam/conf/metadata/mapping et vérifier que les fichiers unit-es-mapping.json et og-es-mapping.json sont des liens symboliques vers les fichiers dans vitam_repo/deployment/ansible-vitam/roles/elasticsearch-mapping/files/.
Aller dans /vitam/conf/worker et s’assurer que plugins.json est bien un lien vers deployment/ansible-vitam/roles/vitam/files/worker/plugins.json
Ouvrir les paramètres IntelliJ IDEA > Appearance and Behavior > Path Variables et y ajouter une variable nommée vitamLocalShareFolder pointant vers /vitam.
Compilation
Depuis le répertoire vitam_repo/sources exécuter la commande
mvn clean install -D-skipTests -P-vitam
La procédure peut prendre environ 10 à 20 minutes.
Compilation des COTS
Les COTS sont des dépendances externes nécessaires pour lancer le projet en local (mongo et elasticSearch)
L’option la plus simple est d’utiliser docker compose, dont le fichier .yaml se trouve dans vitam_repo/dev-deployment/docker-cots Puis lancer avec IntelliJ ou docker compose: docker compose up
Lancement
Dans IntelliJ, lancer la configuration multiRun Vitam, qui doit normalement éxecuter les 13 services le composant.
Initialisation des données
Lancer le script init_data_vitam.sh depuis vitam-conf-dev/scripts. Celui-ci doit s’exécuter sans erreurs.
Dans IntelliJ, exécuter la configuration nommée Cucumber init. Celle-ci doit s'exécuter sans erreurs.