„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 können Sie Git-Revisionsinformationen in Ihre Go-Binärdateien einbetten?

Wie können Sie Git-Revisionsinformationen in Ihre Go-Binärdateien einbetten?

Veröffentlicht am 08.11.2024
Durchsuche:230

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

Hinzufügen von Git-Revisionsinformationen zu Go-Binärdateien

Die Möglichkeit, die Git-Revision zu bestimmen, aus der eine Go-Binärdatei erstellt wurde, ist ein wertvoller Vorteil für Debugging und Versionsverfolgung. Durch die Integration dieser Informationen in die Binärdatei selbst können Ingenieure den Quellcode, der zum Erstellen einer bestimmten Version verwendet wurde, leicht identifizieren.

Warum das Festlegen von Versionsnummern in der Quelle nicht ausreicht

While Es mag intuitiv erscheinen, die bezpośrednio-Revisionsnummer einzuschließen, die unterschiedliche Natur der Git-Revisionen macht diesen Ansatz jedoch unpraktisch. Jede Änderung an der Codebasis würde den Quellcode verändern und im Wesentlichen ein bewegliches Ziel erzeugen.

Building mit Git Revision Embedded

Eine effektivere Lösung ist die Verwendung der go build-Befehle -ldflags-Option in Kombination mit einem speziell gestalteten Shell-Skript. Der folgende Codeausschnitt zeigt, wie dies erreicht wird:

VERSION=`git rev-parse --short HEAD`
go build -ldflags "-X main.version=$VERSION"  myfile.go

Dieses Skript ruft die Git-Revision mit git rev-parse --short HEAD ab und weist sie der Variablen VERSION zu. Anschließend wird der Befehl go build mit der Option -ldflags aufgerufen, um die Variable main.version in die Binärdatei einzubetten. Die Einbeziehung von main. ist von entscheidender Bedeutung, da sie anzeigt, dass die Variable im Hauptpaket Ihres Go-Programms definiert ist.

Zugriff auf die Revisionsinformationen

Sobald die Binärdatei erstellt ist, können Sie darauf zugreifen die Git-Revisionsinformationen mit dem folgenden Befehl:

fmt.Println(version)

Durch Ausführen dieses Codes wird die Git-Revision, die während des Build-Prozesses eingebettet wurde, in gedruckt Konsole. Auf diese Weise können Sie die Version des Codes, der die Binärdatei generiert hat, einfach nachverfolgen, was beim Debuggen und bei der Versionskontrolle hilfreich ist.

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