"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment intégrer les informations de révision Git dans les binaires Go pour le dépannage ?

Comment intégrer les informations de révision Git dans les binaires Go pour le dépannage ?

Publié le 2024-11-05
Parcourir:621

How to Embed Git Revision Information in Go Binaries for Troubleshooting?

Détermination de la révision Git dans les binaires Go

Lors du déploiement de code, il peut être utile d'associer les binaires à la révision git à partir de laquelle ils ont été construits. à des fins de dépannage. Cependant, la mise à jour directe du code source avec le numéro de révision n'est pas réalisable, car cela modifie la source.

Solution : utiliser les indicateurs de build

Une solution à ce défi implique tirer parti des indicateurs de build. En définissant la variable de version dans le package principal avec la révision git actuelle à l'aide des indicateurs de build, vous pouvez maintenir un lien entre les binaires et leurs versions sources. Ceci peut être réalisé en suivant les étapes suivantes :

  1. Obtenez la révision git dans une variable d'environnement $VERSION à l'aide de la commande git rev-parse --short HEAD.
  2. Définissez la variable de version dans le package principal avec l'indicateur de build -ldflags "-X main.version=$VERSION" pendant le processus de build go.

Voici un exemple de script qui illustre cette approche :

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

En exécutant ce script, vous pouvez créer des binaires avec la révision git actuelle intégrée dans la variable de version, vous permettant de la récupérer plus tard en utilisant ./mybinary --révision.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3