Mit so etwas wiekeine Klartext-Passwörter im Frühjahr Stiefel ist application.properties
security.user.password = plainTextPassword
innerhalb Frühling Stiefel ist application.properties
ist offensichtlich ein Anti-Muster, wie es den Code verhindert von zu einem öffentlichen SCM geschoben werden. In meinen nicht-Spring-Boot-Projekten verwende ich
security.user.password = $ {} myPasswordFromMavenSettingsXML
und lege eine entsprechende <properties/>
Referenz in meinem pom.xml
. Mit Hilfe des Maven Resource Filter Plugins werden die Passwörter zum Zeitpunkt des Builds ersetzt, so dass die Anwendung Zugriff auf tatsächliche Klartext Passwörter hat, nachdem sie erstellt und bereitgestellt wurde.
Aus irgendeinem Grund funktioniert das Ressourcenfilter-Plugin von Maven in diesem Fall nicht. Gibt es eine Möglichkeit, keine Klartextpasswörter zu einem SCM zu begehen und Spring Boot sie zur Build-Zeit einfügen lassen?
Die Verwendung von '-DSECURITY_USER_PASSWORD = password' hat funktioniert, aber ich habe meine vertraulichen Eigenschaften in' config/application.properties' gespeichert, um auch mit anderen Profilen zu arbeiten. Zusätzlich benutze ich '$ {random.value}' als Werte in regulären 'application.properties' und über Umgebungsvariablen die 'SECURITY_USER_PASSWORD' -Umgebungsvariable für aktuelle Implementierungen in Produktionsumgebungen. – Alex
Um mit verschiedenen Profilen zu arbeiten, habe ich einfach mehrere Laufkonfigurationen in meiner IDE, jede mit verschiedenen Umgebungsvariablen. – g00glen00b
Dies kann lokal durchgeführt werden, aber Sie können dies auf einem Remote-Server tun, auf dem keine Konfigurationsdatendateien bereitgestellt werden können. Daher kann ich etwas wie 'production-profile.properties' nicht auswählen. – Alex