"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > 문제 해결을 위해 Go 바이너리에 Git 개정 정보를 포함하는 방법은 무엇입니까?

문제 해결을 위해 Go 바이너리에 Git 개정 정보를 포함하는 방법은 무엇입니까?

2024-11-05에 게시됨
검색:440

How to Embed Git Revision Information in Go Binaries for Troubleshooting?

Go 바이너리에서 Git 개정 확인

코드를 배포할 때 바이너리를 빌드된 Git 개정과 연결하는 것이 도움이 될 수 있습니다. 문제 해결 목적. 그러나 개정 번호로 소스 코드를 직접 업데이트하는 것은 소스를 변경하므로 불가능합니다.

해결책: 빌드 플래그 활용

이 문제에 대한 해결책은 다음과 같습니다. 빌드 플래그를 활용합니다. 빌드 플래그를 사용하여 현재 git 개정으로 기본 패키지의 버전 변수를 설정하면 바이너리와 해당 소스 버전 간의 링크를 유지할 수 있습니다. 이는 다음 단계를 통해 달성할 수 있습니다.

  1. git rev-parse --short HEAD 명령을 사용하여 $VERSION 환경 변수에 대한 git 개정을 가져옵니다.
  2. 버전 변수 설정 Go 빌드 프로세스 중에 빌드 플래그 -ldflags "-X main.version=$VERSION"을 사용하여 기본 패키지에 있습니다.

여기는 이 접근 방식을 보여주는 예제 스크립트:

#!/bin/sh
VERSION=`git rev-parse --short HEAD`
go build -ldflags "-X main.version=$VERSION"  myfile.go

이 스크립트를 실행하면 버전 변수에 현재 git 개정이 포함된 바이너리를 빌드할 수 있으므로 나중에 다음을 사용하여 검색할 수 있습니다. ./mybinary --revision.

최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3