[스프링부트] 빌드시 깃 커밋버전 정보 포함시키기
지금 개발하고 있는 애플리케이션은 깃 플로우git flow 를 이용해서 출시하고 있다. 출시할 때는 출시release
기능을 이용해서 master 브랜치에 태그를 생성하고 이를 배포하는 형태로 개발하고 있다.
애플리케이션을 사용하고 있는 필드가 늘어나고 있는데, 이 필드에 배포된 변경이력만으로는 어디까지 개발된 애플리케이션인지 알 수가 없다.
그러다가 스프링부트에서 Git commit information 를 빌드파일이 포함시킬 수 있는 부분을 확인한다. 빌드되는 시점에 깃 커밋정보를 git.properties
에 저장하여 함께 배포하는 기능이다.
이 기능을 사용하려면,
JDK8 에서 빌드되어야 한다.
gradle-git-properties 사용절차
gradle-git-properties 플러그인 추가
참고: com.gorylenko.gradle-git-properties
Produce git.properties for spring-boot-actuator
build.gradle
수정
빌드!
빌드 후 결과
빌드된 배포파일 압축을 해제해보면 다음과 같은 구조로 되어 있다.
git.properties
##Fri Feb 26 10:40:36 KST 2016git.commit.id=bad6de66e0ecc9a2f2e2402fdac88f63d88a2305git.commit.time=1456448574git.commit.user.name=ihoneymongit.commit.id.abbrev=bad6de6git.branch=release/1.0.1.RELEASEgit.commit.message.short=\#38 Code cleaninggit.commit.user.email=ihoneymon@gmail.comgit.commit.message.full=\#38 Code cleaning\n
액츄에이터 기능 중 info 가 활성화 되어 있다면!!
다양한 버전의 애플리케이션 배포본이 존재할 때 어떤 버전으로 운영되고 있는지 확인하는데 요긴할 듯 하다.
'Java > SpringBoot' 카테고리의 다른 글
[springboot] Slack Incoming WebHook API 를 이용해서 slack 채널에 메시지 보내기 (1) | 2016.06.04 |
---|---|
[springboot] 앱 프로세스ID(pid) 관리 (0) | 2016.04.07 |
[스프링부트] 생성물 위치 (0) | 2016.02.24 |
[스프링부트] Executable JAR 내에서 ResourceUtil.getFile() 사용시 FileNotFoundException 발생 (0) | 2016.02.22 |
[스프링부트] 스프링부트 애플리케이션 개발가이드 (0) | 2016.01.12 |