In Spring Boot enthält die Datei application.properties Konfigurationseinstellungen für die Anwendung. Wenn die Anwendung in verschiedenen Umgebungen (lokal, Jenkins, OpenShift) ausgeführt wird, ist es häufig wünschenswert, diese Einstellungen dynamisch anzupassen. Ein Ansatz, dies zu erreichen, ist die Verwendung von Umgebungsvariablen.
Um Umgebungsvariablen festzulegen, erstellen Sie Systemumgebungsvariablen lokal und in der Jenkins-VM. Stellen Sie sicher, dass diese Variablen dieselben Namen und Werte haben, die in OpenShift verwendet werden. Zum Beispiel:
export OPENSHIFT_MYSQL_DB_HOST="jdbc:mysql://localhost" export OPENSHIFT_MYSQL_DB_PORT="3306" export OPENSHIFT_MYSQL_DB_USERNAME="root" export OPENSHIFT_MYSQL_DB_PASSWORD="123asd"
Um Umgebungsvariablen in application.properties zu verwenden, fügen Sie sie einfach mit der Syntax ${VARIABLE_NAME} ein. Zum Beispiel:
spring.datasource.url = ${OPENSHIFT_MYSQL_DB_HOST}:${OPENSHIFT_MYSQL_DB_PORT}/"nameofDB" spring.datasource.username = ${OPENSHIFT_MYSQL_DB_USERNAME} spring.datasource.password = ${OPENSHIFT_MYSQL_DB_PASSWORD}
Hinweis: Es ist auch möglich, Umgebungsvariablen mit dem Spring Environment-Objekt zu erstellen, aber wie von @Stefan Isele vorgeschlagen, ist die Verwendung einer direkten Variablenersetzung in application.properties möglich ein einfacherer Ansatz.
Eine Alternative zur Verwendung von Umgebungsvariablen ist die Verwendung von Spring-Profilen. Mit diesem Ansatz können Sie mehrere application.properties-Dateien erstellen, die jeweils auf eine bestimmte Umgebung zugeschnitten sind. Spring lädt automatisch die entsprechende Datei basierend auf dem Wert der Eigenschaft spring.profiles.active, die als Umgebungsvariable oder über Befehlszeilenargumente festgelegt werden kann. Beispielsweise könnten Sie die Dateien application-local.properties, application-jenkins.properties und application-openshift.properties erstellen. In diesem Fall würden Sie bei der Bereitstellung auf OpenShift die Variable OPENSHIFT_MYSQL_DB_HOST und spring.profiles.active=openshift festlegen.
Durch die Verwendung von Profilen können Sie vermeiden, dass Datenbankanmeldeinformationen oder andere vertrauliche Informationen in Umgebungsvariablen offengelegt werden, wie sie sind Wird nur zur Konfiguration des aktiven Profils verwendet.
Das obige ist der detaillierte Inhalt vonWie kann ich Umgebungsvariablen verwenden, um meine Spring Boot-Anwendung in verschiedenen Umgebungen zu konfigurieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!