web:framework:spring:deployment

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

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] jcheronweb: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'environnement (via le fichier**setenv.sh**), en utilisant **catalina.sh** comme script de démarrage au lieu de **startup.sh** :+Il est nécessaire de modifier le service de démarrage de tomcat pour qu'il prenne en compte les variables d'environnement (via le fichier **setenv.sh**), en utilisant **catalina.sh** comme script de démarrage au lieu de **startup.sh** :
  
 <sxh bash> <sxh bash>
Ligne 361: Ligne 361:
 WantedBy=multi-user.target WantedBy=multi-user.target
  
 +</sxh>
 +
 +Recharger le service et redémarer le :
 +<sxh bash;gutter:false>
 +systemctl daemon-reload
 +systemctl start tomcat.service
 +</sxh>
 +
 +
 +
 +==== 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'environnement **CI_APP_KEY** dans le fichier **setenv.sh** du serveur :
 +
 +<sxh yml;highlight:[34,35]>
 +stages:
 +  - build
 +  - deploy
 +
 +maven-build:
 +  image: maven:3.9.5-amazoncorretto-17-debian
 +  stage: build
 +  script: "mvn clean package -P prod -DskipTests=true"
 +  artifacts:
 +    paths:
 +      - target/paris-2024.war
 +
 +deploy-master:
 +  variables:
 +    HOST: "149.202.94.223"
 +    PORT: "78xx"
 +    USER: "gitlab-ci"
 +    WAR: "paris-2024.war"
 +    SITE_LOCATION: "/opt/tomcat/webapps/paris-2024"
 +  rules:
 +    - if: '$CI_COMMIT_BRANCH =~ /^main$/'
 +  before_script:
 +    - apt-get update -qq && apt-get install -y -qq sshpass sudo
 +    - echo "Host= $HOST"
 +  stage: deploy
 +  script:
 +    - sudo whoami  # Vérifiez si sudo est disponible
 +    - which mv
 +    - sshpass -V
 +    - export SSHPASS=$CI_USER_PASS
 +    - sshpass -e scp -o StrictHostKeyChecking=no -P $PORT target/$WAR $USER@$HOST:/home/$USER
 +    - 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 /home/$USER/$WAR $SITE_LOCATION/ROOT.war
 +    - sshpass -e ssh -tt -o StrictHostKeyChecking=no -p $PORT $USER@$HOST "sudo chmod 755 /opt/tomcat/bin/setenv.sh"
 +    - sshpass -e ssh -tt -o StrictHostKeyChecking=no -p $PORT $USER@$HOST "sudo sh -c 'echo export CI_APP_KEY=$CI_APP_KEY >> /opt/tomcat/bin/setenv.sh'"
 +    - sshpass -e ssh -tt -o StrictHostKeyChecking=no -p $PORT $USER@$HOST sudo systemctl restart tomcat.service
 +</sxh>
 +
 +==== Utilisation de variable d'environnement ====
 +Pour utiliser la variable d'environnement **CI_APP_KEY** dans le projet SpringBoot :
 +
 +=== application.properties ===
 +Ajouter la ligne suivante à **application.properties** :
 +<sxh ini;gutter:false>
 +spring.data.encryption.key=${CI_APP_KEY}
 +</sxh>
 +
 +=== Utilisation en java ===
 +Dans un contrôleur, un service ou autre :
 +<sxh java ;classe java;gutter:false>
 +    @Value("${spring.data.encryption.key}")
 +    private String KEY;
 </sxh> </sxh>
  
  
  
  • web/framework/spring/deployment.1702829277.txt.gz
  • Dernière modification : il y a 16 mois
  • de jcheron