mirror of
https://github.com/goreleaser/goreleaser.git
synced 2025-01-10 03:47:03 +02:00
68ff8e996f
Background --- When a git repository is hosted in multiple GitLab instances the `.goreleaser.yml` needs to take in consideration both APIs endpoints. At the moment it defaults to GitLab.com and you can override it with `gitlab_urls` however this forces you to only support 1 GitLab instance. We need this for https://gitlab.com/gitlab-com/gl-infra/infrastructure/-/issues/14122 where we have a tool that is developed on GitLab.com but then mirrored to an internal GitLab instance since we need it to operate GitLab.com even when it's down. Solution --- Support templates like `{{ .Env.CI_SERVER_URL }}` for the `gitlab_urls`, `github_urls` and `gitea_urls` so it can use environment variables and the same `.goreleaser` file can be used in multiple SCM instances. Co-authored-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
47 lines
1.3 KiB
Markdown
47 lines
1.3 KiB
Markdown
# GitHub
|
|
|
|
## API Token
|
|
|
|
GoReleaser requires an API token with the `repo` scope selected to deploy the artifacts to GitHub.
|
|
You can create one [here](https://github.com/settings/tokens/new).
|
|
|
|
This token should be added to the environment variables as `GITHUB_TOKEN`.
|
|
|
|
Alternatively, you can provide the GitHub token in a file.
|
|
GoReleaser will check `~/.config/goreleaser/github_token` by default, but you can change that in the `.goreleaser.yml` file:
|
|
|
|
```yaml
|
|
# .goreleaser.yml
|
|
env_files:
|
|
github_token: ~/.path/to/my/github_token
|
|
```
|
|
|
|
## GitHub Enterprise
|
|
|
|
You can use GoReleaser with GitHub Enterprise by providing its URLs in the
|
|
`.goreleaser.yml` configuration file. This takes a normal string or a template
|
|
value.
|
|
|
|
```yaml
|
|
# .goreleaser.yml
|
|
github_urls:
|
|
api: https://git.company.com/api/v3/
|
|
upload: https://git.company.com/api/uploads/
|
|
download: https://git.company.com/
|
|
# set to true if you use a self-signed certificate
|
|
skip_tls_verify: false
|
|
```
|
|
|
|
If none are set, they default to GitHub's public URLs.
|
|
|
|
## Example release
|
|
|
|
Here's an example of how the release might look like:
|
|
|
|
<a href="https://github.com/goreleaser/example/releases">
|
|
<figure>
|
|
<img src="https://img.carlosbecker.dev/goreleaser-github.png"/>
|
|
<figcaption>Example release on GitHub.</figcaption>
|
|
</figure>
|
|
</a>
|