Spring Cloud Config Server ile Çok Ortamlı Yapılandırma

sametklou

Spring Cloud Config Server ile Çok Ortamlı Yapılandırma

Spring Cloud Config Server, mikroservis mimarisinde çok sayıda servisin yapılandırmasını merkezi bir konumdan yönetmek için kullanılan bir araçtır. Bu yazıda, Spring Cloud Config Server'ın nasıl kullanılacağını ve birden fazla çevreye (development, test, production vb.) özgü yapılandırmaların nasıl yönetileceğini detaylı bir şekilde ele alacağız.

Spring Cloud Config Server Kurulumu

Öncelikle, Spring Cloud Config Server'ı projemize entegre etmemiz gerekmektedir. Bu işlem için pom.xml dosyasına gerekli dependency'leri eklememiz gerekmektedir:

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-config-server</artifactId>
</dependency>

Ardından, @EnableConfigServer anotasyonunu kullanarak Config Server'ı etkinleştirmemiz gerekmektedir:

@SpringBootApplication
@EnableConfigServer
public class ConfigServerApplication {
    public static void main(String[] args) {
        SpringApplication.run(ConfigServerApplication.class, args);
    }
}

Yapılandırma Dosyalarının Depolanması

Spring Cloud Config Server, yapılandırma dosyalarını Git, SVN, Native gibi çeşitli kaynaklardan okuyabilir. Biz örneğimizde Git kaynağını kullanacağız.

application.properties dosyasına aşağıdaki ayarları ekleyerek Config Server'ın Git repolarını nasıl göreceğini tanımlamamız gerekmektedir:

spring.cloud.config.server.git.uri=https://github.com/[kullanıcı adı]/config-repo
spring.cloud.config.server.git.searchPaths=*
spring.cloud.config.server.git.username=[kullanıcı adı]
spring.cloud.config.server.git.password=[şifre]

Çok Ortamlı Yapılandırma

Farklı ortamlar için farklı yapılandırma dosyalarını yönetmek için, repository içerisinde application-{profile}.properties şeklinde dosyalar oluşturabiliriz. Örneğin, application-dev.properties, application-prod.properties gibi.

Uygulamanın herhangi bir profilde çalışmasını sağlamak için bootstrap.properties dosyasına aşağıdaki ayarı ekleyebiliriz:

spring.profiles.active=dev

Bu sayede, uygulama development ortamında çalıştığında application-dev.properties dosyasındaki yapılandırmaları kullanacaktır.

Spring Cloud Config Server ile çok ortamlı yapılandırma yönetimi oldukça kolaydır ve projenizi hızlı bir şekilde farklı çevrelerde çalıştırmanıza olanak sağlar. Detaylı bilgi için Spring Cloud Config dokümantasyonuna başvurabilirsiniz.