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

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

DDD
DDD원래의
2024-10-27 06:28:29323검색

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을 사용하여 검색할 수 있습니다.

위 내용은 문제 해결을 위해 Go 바이너리에 Git 개정 정보를 포함하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.