"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como você pode incorporar informações de revisão do Git em seus binários Go?

Como você pode incorporar informações de revisão do Git em seus binários Go?

Publicado em 2024-11-08
Navegar:507

How Can You Embed Git Revision Information into Your Go Binaries?

Adicionando informações de revisão do Git aos binários Go

A capacidade de determinar a revisão do Git a partir da qual um binário Go foi construído é um recurso valioso para depuração e rastreamento de versão. Ao incorporar essas informações no próprio binário, os engenheiros podem identificar facilmente o código-fonte usado para criar uma versão específica.

Por que definir números de versão na fonte é insuficiente

Enquanto pode parecer intuitivo incluir o número de revisão bezpośrednio em, a natureza variada das revisões do Git torna esta abordagem impraticável. Cada mudança na base de código alteraria o código-fonte, essencialmente criando um alvo móvel.

Construindo com Git Revision Embedded

Uma solução mais eficaz envolve a utilização do comando go build Opção -ldflags em combinação com um script de shell especialmente criado. O trecho de código a seguir demonstra como fazer isso:

VERSION=`git rev-parse --short HEAD`
go build -ldflags "-X main.version=$VERSION"  myfile.go

Este script busca a revisão do Git usando git rev-parse --short HEAD e a atribui à variável VERSION. Posteriormente, o comando go build é invocado com a opção -ldflags para incorporar a variável main.version no binário. A inclusão do principal. é crucial, pois indica que a variável está definida no pacote principal do seu programa Go.

Acessando as informações de revisão

Depois que o binário for construído, você poderá acessar as informações de revisão do Git usando o seguinte comando:

fmt.Println(version)

Ao executar este código, a revisão do Git que foi incorporada durante o processo de construção será impressa no console. Isso permite rastrear facilmente a versão do código que gerou o binário, auxiliando na depuração e no controle de versão.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3