Thanks obama
2.5 KiB
title | weight | menu |
---|---|---|
Environment | 20 | true |
GitHub Token
GoReleaser requires a GitHub API token with the repo
scope selected to
deploy the artifacts to GitHub.
You can create one here.
This token should be added to the environment variables as GITHUB_TOKEN
.
Here is how to do it with Travis CI:
Defining Variables in Repository Settings.
Alternatively, you can provide the GitHub token in a file. GoReleaser will check ~/.config/goreleaser/github_token
by default, you can change that in
the .goreleaser.yml
file:
# .goreleaser.yml
env_files:
github_token: ~/.path/to/my/token
GitHub Enterprise
You can use GoReleaser with GitHub Enterprise by providing its URLs in
the .goreleaser.yml
configuration file:
# .goreleaser.yml
github_urls:
api: https://git.company.com/api/v3/
upload: https://git.company.com/api/uploads/
download: https://git.company.com/
If none are set, they default to GitHub's public URLs.
IMPORTANT: be careful with the URLs, they may change from one instalation to another. If they are wrong, goreleaser will fail at some point, so, make sure they're right before opening an issue. See for example #472.
The dist folder
By default, GoReleaser will create its artifacts in the ./dist
folder.
If you must, you can change it by setting it in the .goreleaser.yml
file:
# .goreleaser.yml
dist: another-folder-that-is-not-dist
Using the main.version
Default wise GoReleaser sets three ldflags:
main.version
: Current Git tag (thev
prefix is stripped) or the name of the snapshot, if you're using the--snapshot
flagmain.commit
: Current git commit SHAmain.date
: Date according RFC3339
You can use it in your main.go
file:
package main
import "fmt"
var (
version = "dev"
commit = "none"
date = "unknown"
)
func main() {
fmt.Printf("%v, commit %v, built at %v", version, commit, date)
}
You can override this by changing the ldflags
option in the build
section.
Customizing Git
By default, GoReleaser uses full length commit hashes when setting a main.commit
ldflag or creating filenames in --snapshot
mode.
You can use short, 7 character long commit hashes by setting it in the .goreleaser.yml
:
# .goreleaser.yml
git:
short_hash: true