https://github.com/robotomize/buildinfo
A package for getting application build metadata information from multiple sources
https://github.com/robotomize/buildinfo
build go golang golang-package info
Last synced: about 2 months ago
JSON representation
A package for getting application build metadata information from multiple sources
- Host: GitHub
- URL: https://github.com/robotomize/buildinfo
- Owner: robotomize
- License: mit
- Created: 2023-05-23T09:32:20.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-05-10T09:44:26.000Z (about 1 year ago)
- Last Synced: 2025-02-08T14:15:59.056Z (4 months ago)
- Topics: build, go, golang, golang-package, info
- Language: Go
- Homepage:
- Size: 23.4 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Build info
A package for getting application build metadata information from multiple sources
# Usage
```shell
go get -u github.com/robotomize/buildinfo
```## Example
```go
logger, _ := zap.NewProduction()
sugar := logger.Sugar()lg := sugar.With(
zap.String("build_tag", buildinfo.Tag()), zap.String("build_time", buildinfo.Time()),
zap.String("build_sha", buildinfo.SHA()),
)```
### Use flags
```shell
./exampleapp -buildtag=$(git describe --tags --abbrev=0) -buildtime=$(date -u '+%Y-%m-%d-%H:%M') -buildsha=$(git rev-parse HEAD)
```### Use buildinfo ldflags
```shell
go build -ldflags "-X github.com/robotomize/buildinfo.BuildTag=v0.4.0 \
-X github.com/robotomize/buildinfo.BuildTime=2022-05-27 \
-X github.com/robotomize/buildinfo.BuildSHA=e4601a766ce364b65427cbcfd3f0cbfe233725af"
``````go
fmt.Println(buildinfo.Tag(),buildinfo.Time(),buildinfo.SHA())
```## Use ldflags and Set method
```shell
go build -ldflags "-X main.BuildTag=v0.4.0 -X main.BuildTime=2022-05-27 -X main.BuildSHA=e4601a766ce364b65427cbcfd3f0cbfe233725af"
``````go
var (
BuildTag string
BuildTime string
BuildSHA string
)buildinfo.Set(&BuildTag, &BuildTime, &BuildSHA)
fmt.Println(buildinfo.Tag(),buildinfo.Time(),buildinfo.SHA())
```## Order
* Set method
* build flags
* ldflags
* -buildvcs=true