...
| Bloc de code | ||||
|---|---|---|---|---|
| ||||
cd /opt/esup-signature # pour la première compilation il faut installer les dépendances de sedalib en lancant mvn clean initialize # puis par la suite mvn clean initialize ne sera plus utile, la commande suivante sera suffisante mvn clean package |
Vous devez lancer la commande mvn clean package pour obtenir dans ./target/ un fichier esup-signature.war (executable ou déployable) ainsi qu'un dossier esup-signature (déployable dans un tomcat)
Pour faire référence à un fichier de configuration situé en dehors du dépôt (peut être utile dans le cas de déploiements automatiques), il faut ajouter l'option -Dspring.config.location=/<DIR>/application.ymlA la première compilation il est nécessaire de faire un mvn clean initialize pour installer les dépendances. Ensuite il faut lancer mvn clean package.
Lors de la compilation des tests d'intégration vont être exécutés, cela va vous permettre de contrôler votre configuration et votre environnement.
...
| Info |
|---|
Il est possible d'éviter les tests en utilisant la commande mvn clean package -DskipTests mais des problèmes risquent de se poser lors du déploiement. |
On obtient finalement le dossier target. On peut copier son contenu directement dans le dossier ROOT du server tomcat.
Déploiement / Lancement
Tomcat
...
Déploiement / Lancement
esup-signature.war
Depuis la version 1.16, il est possible de lancer directement le fichier war
| Bloc de code | ||||
|---|---|---|---|---|
| ||||
./target/esup-signature.war |
Dans ce cas c'est Spring qui démarre son propre tomcat embarqué avec les paramètres spécifiés dans le fichier de configuration (remote-ip-header, basedir, port, eventuellement ajp.port)
Il est possible d'externaliser le fichier de configuration à l'aide de l'option --spring.config.location=/<DIR>/application.yml
Spring boot
On peut aussi démarrer l'application directement avec la commande suivante au niveau du répertoire des sources. Dans ce cas c'est le fichier src/main/resources/application.yml qui sera pris en compte pour votre configuration.
De même que pour le lancement du war c'est spring qui lance son propre tomcat.
| Bloc de code | ||||
|---|---|---|---|---|
| ||||
mvn spring-boot:run -Dspring.devtools.livereload.enabled=false |
Pour spécifier un autre emplacement pour le fichier de configuration il faut ajouter -Dspring.config.location=/<DIR>/application.yml
Tomcat
On peut copier/coller soit le fichier target/esup-signature.war vers webapps/ROOT.war du tomcat ou directement le contenu du dossier target/esup-signature/ vers webapps/ROOT/On copie/colle le répertoire webapp packagé ainsi dans le tomcat :
| Bloc de code | ||||
|---|---|---|---|---|
| ||||
rm -rf /opt/tomcat-esup-signature/webapps/ROOT && cp -rf /opt/esup-signature/target/esup-signature /opt/tomcat-esup-signature/webapps/ROOT |
...
| Remarque |
|---|
Dans le cas de l'utilisation d'un proxy (apache proxypass par exemple) il est conseillé d'utiliser le protocole AJP. Si cela n'est pas possible il faudra utiliser le module remoteip qui permet de transmettre l'adresse IP réel du client au serveur tomcat (cela n'est pas necessaire en AJP). Pour ce faire il faut activer le module coté Apache: ajouter le fichier mod_remoteip.conf dans le dossier conf.d/ et y inscrire : LoadModule remoteip_module modules/mod_remoteip.so et ajouter une valve dans la configuration du serveur tomcat (server.xml) : <Valve className="org.apache.catalina.valves.RemoteIpValve" remoteIpHeader="x-forwarded-for" |
Spring boot
On peut aussi démarrer l'application directement avec la commande suivante au niveau du répertoire des sources:
| Bloc de code | ||||
|---|---|---|---|---|
| ||||
mvn spring-boot:run |
...
| Astuce |
|---|
Bravo, l'installation est terminée ! |
...