- Installer JDK 1.8
- Installer Tomcat 9.0.30 (extraire l'archive dans un répertoire)
- Installer Maven 3.6 (extraire l'archive dans un répertoire)
⚠ Le projet doit absolument utiliser un jdk 8 et pas uniquement être configuré en java 1.8.
⚠ Il est important également de respecter la version de Maven : à partir de la version 3.8.1, Maven impose que la
connexion aux repos utilise https, or le Nexus du SIB est accessible en http seulement.
Il est conseiller d'utiliser la version Ultimate d'IntelliJ pour réaliser le déploiement des modules directement dans Tomcat.
Sinon, le déploiement devra se faire manuellement (possibilité d'automatiser via un script) dans Tomcat.
- JAVA_TOOL_OPTIONS = -Dfile.encoding=UTF8
Pour permettre l'utilisation de Maven en ligne de commande :
- JAVA_HOME = le répertoire d'installation du jdk 8
- MAVEN_HOME = le répertoire d'installation de maven
- PATH : ajouter %JAVA_HOME%\bin et %MAVEN_HOME%\bin
Dans les "settings", sous Build, execution, deployment > Build tools > Maven, pour le champ "Maven home path", parcourir et sélectionner le dossier d'installation de Maven.
Créer un fichier settings.xml pour la configuration proxy du SIB.
- Copier les jars du dossier
myec3-socle-webapp-module\myec3-socle-webapp\tomcat
dans le dossier lib de tomcat
(TODO ce dossier sera supprimé, les librairies externes ne doivent pas être dans les sources du projet)
- Dans le dossier
myec3-socle-synchro-module/myec3-socle-synchro/src/main/config/local/db/local
, créer un fichierdb.properties
en recopiant le contenu dedb.properties.template
- Editer le fichier pour renseigner l'adresse de la BDD (à récupérer depuis Teampass dans Supports_Megalis / Integ / connexion bdd (service mariadb))
bdd.host=10.241.0.73 #adresse de l'intégration
bdd.port=60006
bdd.user=<voir sur Teampass>
bdd.pwd=<voir sur Teampass>
bdd.dump.rep=/dump
bdd.socle.schema=em_socle
bdd.synchro.schema=em_synchro
bdd.keycloak.schema=keycloak
- Réitérer l'opération dans le dossier
myec3-socle-webapp-module/myec3-scole-webapp/src/main/config/local/db/local
Il est également possible d'utiliser une base de données locale. Pour cela, installer MariaDB.
- Créer les bases em_socle et em_synchro.
mysql -u root -p CREATE DATABASE em_socle; CREATE DATABASE em_synchro; CREATE DATABASE keycloak;
- Faire un import dump de l'intégration pour initialiser les données.
- Reprendre les étapes de la section précédente en adaptant les valeurs des propriétés host/port/user/pwd.
-
Build en local
mvn clean install -P dblocal
-
Sous IntelliJ Ultimate éditer une nouvelle configuration
-
Dans l'onglet deployment, sélectionner à minima les modules
- myec3-socle-esb:war exploded
- myec3-socle-webapp:war exploded
-
Dans l'onglet Startup/Connection ajouter les trois variables d'environnement ci-dessous
Name Value JAVA_OPTS -Dspring.profiles.active=dblocal -Xmx1g
BASE_URL_SSO https://sso-preprod.megalis.bretagne.bzh
SECRET_CLIENT_SOCLE f39d1f33-6403-4887-a0d0-d569ecdfd188
-
-
Exécuter le tomcat server depuis intelliJ et attendre le bon déploiement des wars
-
Se rendre sur la page http://localhost:8080/myec3.
Une redirection est effectué vers le Keycloak de pré-prod.
Se connecter avec les identifiants récupérés depuis Teampass dans Supports_Megalis / Pre-Prod / Utilisateur super admin.
-
Build en local
mvn clean package
-
Copier les fichiers war depuis le dossier target vers {chemin d'installation tomcat}/apache-tomcat-9.0.30/webapp
-
Créer le fichier setenv.bat dans le {chemin d'installation tomcat}/apache-tomcat-9.0.30/bin
-
Dans le fichier setenv.bat ci dessous, renseigner les variables d'environnement comme suit :
set JAVA_OPTS=-Dspring.profiles.active=dblocal -Xmx1g -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 set BASE_URL_SSO=https://sso-preprod.megalis.bretagne.bzh set SECRET_CLIENT_SOCLE=f39d1f33-6403-4887-a0d0-d569ecdfd188
-
Ouvrir la ligne de commande et faire cd {chemin d'installation tomcat}/bin
-
Démarrer tomcat sur windows :
.\catalina.bat run
ou sur Linux :./catalina.sh
-
Se rendre sur la page http://localhost:8080/myec3
Pour traiter un ticket JIRA, suivre le process suivant :
- Se mettre sur develop
git pull
- Tirer une branche avec le nom feature/MEGALIS-[ID-JIRA]-description
- Mettre le ticket JIRA à "en cours"
- Réaliser le dev sur cette branche, tester en local.
- Une fois le dev terminé, faire une merge request de la branche vers develop
- Passer le ticket JIRA à "Test/review"
- une autre personne va lire la MR et déployer en intégration pour valider la correction
Pour traiter un ticket JIRA urgent (incident en prod), suivre le process suivant :
- Se mettre sur master
git pull
- Tirer une branche avec le nom hotfix/MEGALIS-[ID-JIRA]-description
- Mettre le ticket JIRA à "en cours"
- Réaliser le dev sur cette branche, tester en local.
- Une fois le dev terminé, faire une merge request de la branche vers master ET develop
- Passer le ticket JIRA à "Test/review"
- Une autre personne doit lire la MR puis déployer rapidement en prod
Nommage des branches :
- feature/MEGALIS-[ID-JIRA]-description
- hotfix/MEGALIS-[ID-JIRA]-description
Message de commit :
- [FEAT] MEGALIS-[ID-JIRA] : description détailler du dev
- [FIX] MEGALIS-[ID-JIRA]: description détaillé du fix