„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie kann ich Git-Revisionsinformationen zur Fehlerbehebung in Go-Binärdateien einbetten?

Wie kann ich Git-Revisionsinformationen zur Fehlerbehebung in Go-Binärdateien einbetten?

Veröffentlicht am 05.11.2024
Durchsuche:460

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

Bestimmen der Git-Revision in Go-Binärdateien

Beim Bereitstellen von Code kann es hilfreich sein, Binärdateien mit der Git-Revision zu verknüpfen, für die sie erstellt wurden zur Fehlerbehebung. Eine direkte Aktualisierung des Quellcodes mit der Revisionsnummer ist jedoch nicht möglich, da dadurch die Quelle geändert wird.

Lösung: Build-Flags verwenden

Eine Lösung für diese Herausforderung beinhaltet Nutzung von Build-Flags. Indem Sie die Versionsvariable im Hauptpaket mithilfe von Build-Flags auf die aktuelle Git-Revision setzen, können Sie eine Verknüpfung zwischen Binärdateien und ihren Quellversionen aufrechterhalten. Dies kann durch die folgenden Schritte erreicht werden:

  1. Beziehen Sie die Git-Revision in eine $VERSION-Umgebungsvariable mit dem Befehl git rev-parse --short HEAD.
  2. Legen Sie die Versionsvariable fest im Hauptpaket mit dem Build-Flag -ldflags "-X main.version=$VERSION" während des Go-Build-Prozesses.

Hier ist Ein Beispielskript, das diesen Ansatz demonstriert:

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

Durch die Ausführung dieses Skripts können Sie Binärdateien mit der aktuellen Git-Revision erstellen, die in die Versionsvariable eingebettet ist, sodass Sie sie später mit abrufen können ./mybinary --revision.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3