Spring Boot에서 application.properties 파일에는 애플리케이션에 대한 구성 설정이 포함되어 있습니다. 애플리케이션이 다른 환경(로컬, Jenkins, OpenShift)에서 실행되는 경우 이러한 설정을 동적으로 조정하는 것이 필요한 경우가 많습니다. 이를 달성하기 위한 한 가지 접근 방식은 환경 변수를 사용하는 것입니다.
환경 변수를 설정하려면 로컬 및 Jenkins VM에서 시스템 환경 변수를 만듭니다. 이러한 변수가 OpenShift에서 사용된 것과 동일한 이름과 값을 가지고 있는지 확인하십시오. 예:
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"
application.properties에서 환경 변수를 사용하려면 ${VARIABLE_NAME} 구문을 사용하여 해당 변수를 포함하면 됩니다. 예를 들면 다음과 같습니다.
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}
참고: Spring 환경 객체를 사용하여 환경 변수를 생성하는 것도 가능하지만 @Stefan Isele이 제안한 대로 application.properties에서 직접 변수 대체를 사용하는 것은 더 간단한 접근 방식입니다.
환경 변수를 사용하는 대신 Spring을 사용하는 것입니다. 프로필. 이 접근 방식을 사용하면 각각 특정 환경에 맞게 조정된 여러 개의 application.properties 파일을 생성할 수 있습니다. Spring은 환경 변수 또는 명령줄 인수를 통해 설정할 수 있는 spring.profiles.active 속성 값을 기반으로 적절한 파일을 자동으로 로드합니다. 예를 들어 application-local.properties, application-jenkins.properties 및 application-openshift.properties 파일을 생성할 수 있습니다. 이 경우 OpenShift에 배포할 때 OPENSHIFT_MYSQL_DB_HOST 변수와 spring.profiles.active=openshift를 설정합니다.
프로필을 사용하면 환경 변수에 있는 데이터베이스 자격 증명이나 기타 민감한 정보가 그대로 노출되는 것을 방지할 수 있습니다. 활성 프로필을 구성하는 데에만 사용됩니다.
위 내용은 환경 변수를 사용하여 다양한 환경에서 Spring Boot 애플리케이션을 구성하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!