2 votes

Comment gérer plusieurs profils Spring avec Heroku

Je suis en train de mettre en place un nouvel environnement pour mon application, nous n'avons que l'environnement "prod", je veux créer un environnement de test, pour cela, j'ai configuré deux profils Spring, "test" et "prod", et créé une nouvelle branche appelée "test" où nous voulons avoir l'environnement de test et pousser cette branche vers master comme une sorte de "promotion" vers la production. Voici un extrait de notre application.yml

spring:
  profiles: test
 {some properties...}

---

spring:
  profiles: prod
 {some properties...}

Nous utilisons Heroku pour déployer notre application et nos dépôts depuis AzureDevOps, où nous avons également un pipeline qui s'exécute lorsque nous poussons des commits vers master, ce pipeline pousse la branche master d'AzureDevOps vers le dépôt Heroku. Dans Heroku nous avons une application créée sur "staging", nous n'avons pas encore ajouté une application "production" (pas sûr que ce soit pertinent mais je voulais clarifier cela).

C'est le pipeline :

git checkout $(Build.SourceBranchName)
git remote add heroku https://heroku:$(pat)@git.heroku.com/app-hto.git
git push heroku $(Build.SourceBranchName)

Pour spécifier le profil, j'utilise l'option Procfile dans mon projet Java, où nous avons ceci :

web: java -Dspring.profiles.active=prod -Dserver.port=$PORT $JAVA_OPTS -jar target/api-0.0.1-SNAPSHOT.jar

Comme vous pouvez le constater, je ne suis pas un expert de Heroku et je ne sais pas comment procéder. Ma question est donc la suivante : comment puis-je spécifier le profil à utiliser pour chaque environnement ? Il y a un moyen d'accomplir cela en utilisant les pipelines AzureDevOps ?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X