Maison  >  Article  >  développement back-end  >  Comment pouvez-vous intégrer les informations de révision Git dans vos binaires Go ?

Comment pouvez-vous intégrer les informations de révision Git dans vos binaires Go ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-26 18:03:29134parcourir

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

Ajout d'informations de révision Git aux binaires Go

La possibilité de déterminer la révision Git à partir de laquelle un binaire Go a été construit est un atout précieux pour débogage et suivi des versions. En incorporant ces informations dans le binaire lui-même, les ingénieurs peuvent facilement identifier le code source utilisé pour créer une version particulière.

Pourquoi définir les numéros de version dans la source est insuffisant

Alors que il peut sembler intuitif d'inclure le numéro de révision bezpośrednio dans, la nature variable des révisions Git rend cette approche peu pratique. Chaque modification apportée à la base de code modifierait le code source, créant essentiellement une cible mobile.

Construire avec Git Revision Embedded

Une solution plus efficace implique d'utiliser la commande go build -ldflags en combinaison avec un script shell spécialement conçu. L'extrait de code suivant montre comment y parvenir :

<code class="sh">VERSION=`git rev-parse --short HEAD`
go build -ldflags "-X main.version=$VERSION"  myfile.go</code>

Ce script récupère la révision Git à l'aide de git rev-parse --short HEAD et l'attribue à la variable VERSION. Par la suite, la commande go build est invoquée avec l'option -ldflags pour intégrer la variable main.version dans le binaire. L’inclusion du principal. est crucial car il indique que la variable est définie dans le package principal de votre programme Go.

Accès aux informations de révision

Une fois le binaire construit, vous pouvez accéder les informations de révision Git à l'aide de la commande suivante :

<code class="go">fmt.Println(version)</code>

En exécutant ce code, la révision Git qui a été intégrée pendant le processus de construction sera imprimée sur la console. Cela vous permet de suivre facilement la version du code qui a généré le binaire, facilitant ainsi le débogage et le contrôle de version.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn