govvv alternatives and similar packages
Based on the "DevOps Tools" category.
Alternatively, view govvv alternatives based on common mentions on social networks and blogs.
-
Packer
Packer is a tool for creating identical machine images for multiple platforms from a single source configuration. -
webhook
Tool which allows user to create HTTP endpoints (hooks) that execute commands on the server. -
StatusOK
Monitor your Website and REST APIs.Get Notified through Slack, E-mail when your server is down or response time is more than expected. -
s3gof3r
A small utility/library optimized for high speed transfer of large objects into and out of Amazon S3. -
skm
SKM is a simple and powerful SSH Keys Manager, it helps you to manage your multiple SSH keys easily! -
gonative
Tool which creates a build of Go that can cross compile to all platforms while still using the Cgo-enabled versions of the stdlib packages. -
metric
Minimal metrics for Go (counter/gauge/histogram). No dependencies. Compatible with expvar. Web UI included. -
easyssh-proxy
Golang package for easy remote execution through SSH and SCP downloading via ProxyCommand. -
terraform-provider-openapi
Terraform provider plugin that dynamically configures itself at runtime based on an OpenAPI document (formerly known as swagger file) containing the definitions of the APIs exposed.
Get performance insights in less than 4 minutes.
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest. Visit our partner's website for more details.
Do you think we are missing an alternative of govvv or a related project?
Popular Comparisons
README
govvv
The simple Go binary versioning tool that wraps the go build
command.
Stop worrying about -ldflags
and go get github.com/ahmetb/govvv
now.
Build Variables
Variable | Description | Example |
---|---|---|
main.GitCommit |
short commit hash of source tree | 0b5ed7a |
main.GitBranch |
current branch name the code is built off | master |
main.GitState |
whether there are uncommitted changes | clean or dirty |
main.GitSummary |
output of git describe --tags --dirty --always |
v1.0.0 , v1.0.1-5-g585c78f-dirty , fbd157c |
main.BuildDate |
RFC3339 formatted UTC date | 2016-08-04T18:07:54Z |
main.Version |
contents of ./VERSION file, if exists, or the value passed via the -version option |
2.0.0 |
Using govvv is easy
Just add the build variables you want to the main
package and run:
old | :sparkles: new :sparkles: |
---|---|
go build |
govvv build |
go install |
govvv install |
Version your app with govvv
Create a VERSION
file in your build root directory and add a Version
variable to your main
package.
Do you have your own way of specifying Version
? No problem:
govvv lets you specify custom -ldflags
Your existing -ldflags
argument will still be preserved:
govvv build -ldflags "-X main.BuildNumber=$buildnum" myapp
and the -ldflags
constructed by govvv will be appended to your flag.
Don’t want to depend on govvv
? It’s fine!
You can just pass a -print
argument and govvv
will just print the
go build
command with -ldflags
for you and will not execute the go tool:
$ govvv build -print
go build \
-ldflags \
"-X main.GitCommit=57b9870 -X main.GitBranch=dry-run -X main.GitState=dirty -X main.Version=0.1.0 -X main.BuildDate=2016-08-08T20:50:21Z"
Still don’t want to wrap the go
tool? Well, try -flags
to retrieve the LDFLAGS govvv prepares:
$ go build -ldflags="$(govvv -flags)"
Want to use a different package?
You can pass a -pkg
argument with the full package name, and govvv
will
set the build variables in that package instead of main
. For example:
# build with govvv
$ govvv build -pkg github.com/myacct/myproj/mypkg
# build with go
$ go build -ldflags="$(govvv -flags -pkg $(go list ./mypkg))"
Want to use a different version?
You can pass a -version
argument with the desired version, and govvv
will
use the specified version instead of obtaining it from the ./VERSION
file.
For example:
# build with govvv
$ govvv build -version 1.2.3
# build with go
$ go build -ldflags="$(govvv -flags -version 1.2.3)"
Try govvv today
$ go get github.com/ahmetb/govvv
govvv is distributed under [Apache 2.0 License](LICENSE).
Copyright 2016 Ahmet Alp Balkan
*Note that all licence references and agreements mentioned in the govvv README section above
are relevant to that project's source code only.