지금 개발하고 있는 애플리케이션은 깃 플로우git flow 를 이용해서 출시하고 있다. 출시할 때는 출시release
기능을 이용해서 master 브랜치에 태그를 생성하고 이를 배포하는 형태로 개발하고 있다.
애플리케이션을 사용하고 있는 필드가 늘어나고 있는데, 이 필드에 배포된 변경이력만으로는 어디까지 개발된 애플리케이션인지 알 수가 없다.
그러다가 스프링부트에서 Git commit information 를 빌드파일이 포함시킬 수 있는 부분을 확인한다. 빌드되는 시점에 깃 커민정보를 git.properties
에 저장하여 함께 배포하는 기능이다.
Produce git.properties for spring-boot-actuator
build.gradle
수정buildscript { ext { springBootVersion = '1.3.2.RELEASE' } repositories { mavenCentral() maven { url "https://plugins.gradle.org/m2/" //gradle 플러그인 URL } } dependencies { classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}") classpath "gradle.plugin.com.gorylenko.gradle-git-properties:gradle-git-properties:1.4.11" // gradle-git-properties } } apply plugin: "com.gorylenko.gradle-git-properties"
-
빌드된 배포파일 압축을 해제해보면 다음과 같은 구조로 되어 있다.
-
git.properties 파일 구성
# #Fri Feb 26 10:40:36 KST 2016 git.commit.id=bad6de66e0ecc9a2f2e2402fdac88f63d88a2305 git.commit.time=1456448574 git.commit.user.name=ihoneymon git.commit.id.abbrev=bad6de6 git.branch=release/1.0.1.RELEASE git.commit.message.short=\#38 Code cleaning git.commit.user.email=ihoneymon@gmail.com git.commit.message.full=\#38 Code cleaning\n
-