7.3.2.2 Git Entegrasyonu#
Git Nedir?#
Git, yazılım geliştirme süreçlerinde kullanılan bir versiyon kontrol sistemidir.
Config Server ile Nasıl Kullanılır?#
Config-Server Konfigürasyonları#
- hvl-infra içerisindeki config server docker-compose.yml dosyasında
SPRING_PROFILES_ACTIVEalanıgitolarak değiştirilir.
Config server varsayılan detaylı git konfigürasyonları aşağıdaki gibidir.
spring:
cloud:
config:
server:
git:
uri: ${CONFIG_GIT_URI:https://bitbucket.bulut.ai/scm/javalt/hvl-infra.git}
search-paths: ${CONFIG_GIT_SEARCH_PATHS:configuration,configuration/framework/spring,configuration/{hvl-cloud-config-profile}/framework/spring,configuration/{hvl-cloud-config-profile}}
default-label: ${CONFIG_GIT_DEFAULT_LABEL:master}
clone-on-start: ${CONFIG_GIT_CLONE_ON_START:false}
order: ${GIT_ORDER:2}
refresh-rate: ${CONFIG_GIT_REFRESH_RATE:0}
Native Kullanımdan Git Kullanımına Geçiş#
EKSEN tarafından sunulan config server varsayılan olarak hvl-infra projesi ile native modda çalışacak şekilde konfigüre edilmiştir. Bundan dolayı uygulamalar da native moddaki config server ile çalışacak şekilde ayarlı gelmektedir.
Eğer config server git modunda ayağa kaldırılmışsa aşağıdaki adımların intancelar üzerinden düzenlenmesi gerekmektedir. Bu environment olarak veya yaml'lar aracılığı ile yapılabilir.
-
Uygulamanın environment değerlerine
SERVER_CONFIGURATION_LABELdeğeri eklenmelidir ve git repository'sinin hangi branchinin kullanılacağı bilgisi verilmelidir.Örnek
SERVER_CONFIGURATION_LABEL=rc(_)3.2.0
Not: Örnekteki
(_)değeri/karakterine denk gelmektedir./karakteri yerine(_)kullanılmalıdır. -
Uygulamadaki
LOGGING_CONFIGenvironment değeri aşağıdaki gibi güncellenmelidir.Örnek
Önceki (native mod kullanımı);
LOGGING_CONFIG=${spring.cloud.config.uri}/${spring.application.name}/default/framework/log4j2/instance/oauth/session/log4j2.yml
Sonraki (git mod kullanımı);
LOGGING_CONFIG=${spring.cloud.config.uri}/${spring.application.name}/default/${spring.cloud.config.label}/framework/log4j2/instance/oauth/session/log4j2.yml
Sadece default path'inden sonra ${spring.cloud.config.label} eklenmiştir. Bu da 1. adımda uygulanan git repository branch bilgisine (SERVER_CONFIGURATION_LABEL) karşılık gelmektedir. Buna ek olarak
(_)değerleri/olarak değiştirilmiştir.