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; | ||
| </ | </ | ||