Rumah > pembangunan bahagian belakang > Golang > Bagaimana untuk Membenamkan Semakan Git dalam Go Binari Tanpa Mengubah Suai Kod Sumber?

Bagaimana untuk Membenamkan Semakan Git dalam Go Binari Tanpa Mengubah Suai Kod Sumber?

DDD
Lepaskan: 2024-10-29 11:05:29
asal
389 orang telah melayarinya

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

Menambahkan Semakan Git pada Binary Builds in Go

Keperluan biasa dalam pembangunan perisian adalah untuk menjejaki asal usul boleh laku binari. Ini amat berguna untuk menyelesaikan masalah dan mewujudkan versi sumber dari mana binari dibina. Dalam Go, ia mungkin kelihatan intuitif untuk menambah nombor semakan terus pada kod sumber, tetapi pendekatan ini menimbulkan kebimbangan tentang mengubah sumber.

Sebaliknya, pertimbangkan untuk memasukkan semakan git semasa proses binaan. Pendekatan ini memastikan bahawa binari mencerminkan semakan yang digunakan dalam penciptaannya tanpa mengubah suai kod sumber.

Membina Binari dengan Git Revision

Untuk mencapainya, gunakan git rev -parse --arahan HEAD pendek untuk mendapatkan semula cincang semakan yang dipendekkan. Seterusnya, tetapkan nilai ini kepada pembolehubah bernama $VERSION dalam skrip shell.

Dalam kod sumber Go anda, isytiharkan pembolehubah versi dalam pakej utama. Pembolehubah ini harus mempunyai jenis data rentetan.

Akhir sekali, semasa proses binaan, laksanakan arahan berikut untuk membenamkan maklumat versi ke dalam binari:

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

Dengan melaksanakan arahan semasa membina, anda boleh membenamkan semakan git secara dinamik ke dalam binari tanpa mengubah kod sumber. Untuk mengakses maklumat semakan, cuma dapatkan semula nilai pembolehubah versi dalam program Go anda.

Atas ialah kandungan terperinci Bagaimana untuk Membenamkan Semakan Git dalam Go Binari Tanpa Mengubah Suai Kod Sumber?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan