A tool for Golang programs that automatically generate versions at build time.
go build -ldflags="-X github.com/zc2638/releaser.ver=0.0.1" main.go
package main
import (
"fmt"
"github.com/zc2638/releaser"
)
func main() {
fmt.Printf("version: %s\n", releaser.Version.String())
fmt.Printf("gitCommit: %s\n", releaser.Version.Git.Commit)
fmt.Printf("goVersion: %s\n", releaser.Version.GoVersion)
fmt.Printf("compiler: %s\n", releaser.Version.Compiler)
fmt.Printf("platform: %s\n", releaser.Version.Platform)
fmt.Printf("buildDate: %s\n", releaser.Version.BuildDate)
}
go build -ldflags="-X $(releaser get)" main.go
go install -v github.com/zc2638/releaser/cmd/releaser@latest
docker run --rm -it zc2638/releaser:latest
git clone https://github.com/zc2638/releaser.git releaser && cd "$_"
go build -ldflags="-X $(go run github.com/zc2638/releaser/cmd get)" -o releaser github.com/zc2638/releaser/cmd
releaser init <project name>
releaser create <service name>
releaser set --version 1.0.0 --meta status=ok --meta repo=github
releaser set <service name> --version 1.0.0 --meta status=ok --meta repo=github
# get build info, output format `gobuild` is default
releaser get [-o gobuild|json]
# get version
releaser get --filter version
# get metadata field value
releaser get --filter meta.status
# get build info, output format `gobuild` is default
releaser get <service name> [-o gobuild|json]
# get version
releaser get <service name> --filter version
# get metadata field value
releaser get <service name> --filter meta.status
releaser delete <service name>
releaser walk --command 'echo "$name $version $meta_status"'