Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
web:framework:spring:deployment [2023/12/17 17:07] – jcheron | web:framework:spring:deployment [2023/12/17 17:41] (Version actuelle) – [Configuration Tomcat sur VM] jcheron | ||
---|---|---|---|
Ligne 334: | Ligne 334: | ||
==== Configuration Tomcat sur VM ==== | ==== Configuration Tomcat sur VM ==== | ||
- | Il est nécessaire de modifier le service de démarrage de tomcat pour qu'il prenne en compte les variables d' | + | Il est nécessaire de modifier le service de démarrage de tomcat pour qu'il prenne en compte les variables d' |
<sxh bash> | <sxh bash> | ||
Ligne 361: | Ligne 361: | ||
WantedBy=multi-user.target | WantedBy=multi-user.target | ||
+ | </ | ||
+ | |||
+ | Recharger le service et redémarer le : | ||
+ | <sxh bash; | ||
+ | systemctl daemon-reload | ||
+ | systemctl start tomcat.service | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | ==== Script de déploiement ==== | ||
+ | Créer une variable **CI_APP_KEY** dans les variables CI de votre compte gitlab. | ||
+ | |||
+ | Le script de déploiement doit maintenant ajouter la variable d' | ||
+ | |||
+ | <sxh yml; | ||
+ | stages: | ||
+ | - build | ||
+ | - deploy | ||
+ | |||
+ | maven-build: | ||
+ | image: maven: | ||
+ | stage: build | ||
+ | script: "mvn clean package -P prod -DskipTests=true" | ||
+ | artifacts: | ||
+ | paths: | ||
+ | - target/ | ||
+ | |||
+ | deploy-master: | ||
+ | variables: | ||
+ | HOST: " | ||
+ | PORT: " | ||
+ | USER: " | ||
+ | WAR: " | ||
+ | SITE_LOCATION: | ||
+ | rules: | ||
+ | - if: ' | ||
+ | before_script: | ||
+ | - apt-get update -qq && apt-get install -y -qq sshpass sudo | ||
+ | - echo "Host= $HOST" | ||
+ | stage: deploy | ||
+ | script: | ||
+ | - sudo whoami | ||
+ | - which mv | ||
+ | - sshpass -V | ||
+ | - export SSHPASS=$CI_USER_PASS | ||
+ | - sshpass -e scp -o StrictHostKeyChecking=no -P $PORT target/$WAR $USER@$HOST:/ | ||
+ | - sshpass -e ssh -tt -o StrictHostKeyChecking=no -p $PORT $USER@$HOST echo $PATH | ||
+ | - sshpass -e ssh -tt -o StrictHostKeyChecking=no -p $PORT $USER@$HOST sudo mv / | ||
+ | - sshpass -e ssh -tt -o StrictHostKeyChecking=no -p $PORT $USER@$HOST "sudo chmod 755 / | ||
+ | - sshpass -e ssh -tt -o StrictHostKeyChecking=no -p $PORT $USER@$HOST "sudo sh -c 'echo export CI_APP_KEY=$CI_APP_KEY >> / | ||
+ | - sshpass -e ssh -tt -o StrictHostKeyChecking=no -p $PORT $USER@$HOST sudo systemctl restart tomcat.service | ||
+ | </ | ||
+ | |||
+ | ==== Utilisation de variable d' | ||
+ | Pour utiliser la variable d' | ||
+ | |||
+ | === application.properties === | ||
+ | Ajouter la ligne suivante à **application.properties** : | ||
+ | <sxh ini; | ||
+ | spring.data.encryption.key=${CI_APP_KEY} | ||
+ | </ | ||
+ | |||
+ | === Utilisation en java === | ||
+ | Dans un contrôleur, | ||
+ | <sxh java ;classe java; | ||
+ | @Value(" | ||
+ | private String KEY; | ||
</ | </ | ||