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

DDD
풀어 주다: 2024-10-27 06:28:29
원래의
333명이 탐색했습니다.

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!