Maison > développement back-end > Golang > 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 ?

DDD
Libérer: 2024-10-27 06:28:29
original
442 Les gens l'ont consulté

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
Copier après la connexion

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 --revision.

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