Maison > développement back-end > Golang > Comment intégrer la révision Git dans les binaires Go sans modifier le code source ?

Comment intégrer la révision Git dans les binaires Go sans modifier le code source ?

DDD
Libérer: 2024-10-29 11:05:29
original
387 Les gens l'ont consulté

How to Embed Git Revision in Go Binaries Without Modifying Source Code?

Ajout d'une révision Git aux versions binaires dans Go

Un besoin courant dans le développement de logiciels est de suivre l'origine des exécutables binaires. Ceci est particulièrement utile pour dépanner et établir la version source à partir de laquelle un binaire a été construit. Dans Go, il peut sembler intuitif d'ajouter le numéro de révision directement au code source, mais cette approche soulève des inquiétudes quant à la modification de la source.

Envisagez plutôt d'incorporer la révision git pendant le processus de construction. Cette approche garantit que le binaire reflète la révision utilisée lors de sa création sans modifier le code source.

Créer des binaires avec Git Revision

Pour y parvenir, utilisez le git rev -parse --short HEAD commande pour récupérer le hachage de révision raccourci. Ensuite, attribuez cette valeur à une variable nommée $VERSION dans un script shell.

Dans votre code source Go, déclarez une variable de version dans le package principal. Cette variable doit avoir un type de données chaîne.

Enfin, pendant le processus de construction, exécutez la commande suivante pour intégrer les informations de version dans le binaire :

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

En exécutant la commande pendant le build, vous pouvez intégrer dynamiquement la révision git dans le binaire sans modifier le code source. Pour accéder aux informations de révision, récupérez simplement la valeur de la variable de version dans votre programme Go.

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal