Git의 태그나 흩어진 정보를 버전 정보로 삽입하기 (Gradle)
작업을 확인하는 버전은 다음과 같습니다.
포함할 정보
어떤 상태에서 생성되는지 알기 위해 다음과 같이 설정합니다.
version 속성(jar 또는 라이브러리 버전에 추가됨):Giit의 라벨 정보를 기반으로 한
v1.1.2이면 라벨이 1.1.2이다.v1.0.0-beta1가 되면1.0.0-beta1의 형식으로 한다.-beta1부분도 문제 없음META-INF/MANIFEST.MF의Implementation-Version:Giit 태그 + 제출 해시 값도 추가되었습니다.
v1.1.2라면 산열(8비트)1.1.2.f15325d3도 부여한다.v1.0.0-beta1로 바뀌면1.1.2-beta1.f15325d3의 형식이다.com.palantir.git-version 플러그인
Git의 다양한 정보를 얻기 위해palantir.git-version 플러그인을 사용합니다.
git describe --tags --always --first-parent와 같은 정보를 얻을 수 있습니다.build.gradle 설정
build.gradle의 설정 내용입니다.전체에 관해서는 아래의 내용을 참조하시오.
플러그인 추가
com.palantir.git-version을 사용하는 플러그인을 지정합니다.
plugins {
    id 'java'
    id 'com.palantir.git-version' version '0.12.3'
}
  version 속성, Implementation-Version으로 설정
Gradle의
version 속성에 탭 정보 기반 정보를 설정합니다.또한
META-INF/MANIFEST.MF의 Implementation-Version에 라벨+해시 정보를 설정합니다.def gitInfo = versionDetails()
version = gitInfo.lastTag.substring(1)
def implementationVersion = version + '.' + gitInfo.gitHash[0..7]
jar {
    manifest {
        attributes(
            'Implementation-Version' : implementationVersion
        )
    }
}
 이 설정이 종료되었습니다.(첨부) 프로그램에서 Implementation-Version 정보 가져오기
META-INF/MANIFEST.MF의Implementation-Version를 프로그램에서 얻을 수 있습니다.package com.github.onozaty.embed;
public class Main {
    public static void main(String[] args) {
        String implementationVersion = getImplementationVersion();
        System.out.println("implementationVersion: " + implementationVersion);
    }
    private static String getImplementationVersion() {
        return Main.class.getPackage().getImplementationVersion();
    }
}
 프로그램이 시작될 때의 로그로 표시되면 어느 버전이 실행되었을 때의 로그인지 쉽게 알 수 있습니다.그나저나 Spring Boot은 시작할 때
Implementation-Version 의 정보를 읽고 시작 로그로 출력합니다.2022-01-07 00:10:11.145  INFO 11772 --- [           main] com.example.demo.DemoApplication         : Starting DemoApplication v1.0.0-beta1.86ea7f27 using Java 1.8.0_222 on PCXX with PID 11772 (F:\demo\demo-1.0.0-beta1.jar started by onozaty in F:\demo)
                Reference
이 문제에 관하여(Git의 태그나 흩어진 정보를 버전 정보로 삽입하기 (Gradle)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/onozaty/articles/embed-git-version-java-gradle텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
                                
                                
                                
                                
                                
                                우수한 개발자 콘텐츠 발견에 전념
                                (Collection and Share based on the CC Protocol.)