1
0
mirror of https://github.com/goreleaser/goreleaser.git synced 2025-09-16 09:26:52 +02:00

docs: sync docs

Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
This commit is contained in:
Carlos A Becker
2021-06-21 02:13:49 +00:00
parent 3db788bba5
commit 40b38fbdc9
10 changed files with 115 additions and 16 deletions

View File

@@ -0,0 +1,53 @@
---
title: Fury
---
With [GoReleaser Pro](/pro) you can easily create deb and yum repositories on [fury.io][fury].
## Usage
First, you need to create an account on [fury.io][fury] and get a push token.
Then, you need to pass your account name to GoReleaser and have your push token as an environment variable named `FURY_TOKEN`:
```yaml
# .goreleaser.yml
furies:
- account: myaccount
```
This will automatically upload all your `deb` and `rpm` files.
## Customization
You can also have plenty of customization options:
```yaml
# goreleaser.yml
furies:
-
# fury.io account.
# Config is skipped if empty
account: my-account
# Encironment variable name to get the push token from.
# You might want to change it if you have multiple fury configurations for some reason.
# Defaults to `FURY_TOKEN`.
secret_name: MY_ACCOUNT_FURY_TOKEN
# IDs to filter by.
# Defaults to empty, which means all packages created by all nfpm configurations get uploaded.
ids: [ 'nfpm1' ]
# Formats to upload.
# Available options are `deb` and `rpm`.
# Defaults to `deb` and `rpm`.
formats: [ 'deb' ]
```
!!! info
The fury publisher is a [GoReleaser Pro feature](/pro/).
You might be able to reproduce some of its behavior on GoReleaser OSS using [custom publishers](/customization/publishers/).
[fury]: https://fury.io/

View File

@@ -29,7 +29,7 @@ You can also go crazy with `sh -c "my commands"`, but it gets ugly real fast.
## Pro Features
With [GoReleaser Pro](/pro), things are a bit more flexible: you can specify the dir, environment variables and also global after hooks.
With [GoReleaser Pro](/pro/), things are a bit more flexible: you can specify the dir, environment variables and also global after hooks.
```yaml
# .goreleaser.yml
@@ -59,7 +59,7 @@ after:
```
!!! info
Global after hooks is a [GoReleaser Pro feature](/pro).
Global after hooks is a [GoReleaser Pro feature](/pro/).
!!! tip
Learn more about the [name template engine](/customization/templates/).

View File

@@ -19,4 +19,4 @@ includes:
```
!!! info
Includes is a [GoReleaser Pro feature](/pro).
Includes is a [GoReleaser Pro feature](/pro/).

View File

@@ -40,7 +40,7 @@ Then, the following is different from a "regular" run:
The rest of the release process should work as usual.
!!! info
Monorepo support is a [GoReleaser Pro feature](/pro).
Monorepo support is a [GoReleaser Pro feature](/pro/).
!!! warning
This feature is in beta and might change based on feedback.

View File

@@ -93,8 +93,8 @@ GOVERSION_NR=$(go version | awk '{print $3;}') goreleaser
## Custom variables
On [GoReleaser Pro](/pro) you can also declare custom variables.
This feature is specially useful with [includes](/customization/includes), so you can have more generic config files.
On [GoReleaser Pro](/pro/) you can also declare custom variables.
This feature is specially useful with [includes](/customization/includes/), so you can have more generic config files.
Usage is as simple as you would expect:
@@ -111,4 +111,4 @@ And then you can use those fields as `{{ .description }}`, for example.
You won't be allowed to override GoReleaser "native" fields.
!!! info
Custom variables is a [GoReleaser Pro feature](/pro).
Custom variables is a [GoReleaser Pro feature](/pro/).

View File

@@ -121,7 +121,7 @@ You can override this by changing the `ldflags` option in the `build` section.
## Overriding Git Tags
You can force the [build tag](/customization/build#define-build-tag)
and [previous changelog tag](/customization/release#define-previous-tag)
You can force the [build tag](/customization/build/#define-build-tag)
and [previous changelog tag](/customization/release/#define-previous-tag)
using environment variables. This is useful in cases where one git commit
is referenced by multiple git tags.

View File

@@ -1,6 +1,6 @@
# Install
There are two GoReleaser distributions: OSS and [Pro](/pro).
There are two GoReleaser distributions: OSS and [Pro](/pro/).
You can install the pre-compiled binary (in several different ways), use Docker or compile from source (when on OSS).
@@ -54,6 +54,51 @@ scoop bucket add goreleaser https://github.com/goreleaser/scoop-bucket.git
scoop install goreleaser-pro
```
### apt
#### setup repository
```sh
echo 'deb [trusted=yes] https://apt.fury.io/goreleaser/ /' | sudo tee /etc/apt/sources.list.d/goreleaser.list
sudo apt update
```
#### oss
```sh
sudo apt install goreleaser
```
#### pro
```sh
sudo apt install goreleaser-pro
```
### yum
#### setup repository
```sh
echo '[goreleaser]
name=GoReleaser
baseurl=https://yum.fury.io/goreleaser/
enabled=1
gpgcheck=0' | sudo tee /etc/yum.repos.d/goreleaser.repo
```
#### oss
```sh
sudo yum install goreleaser
```
#### pro
```sh
sudo yum install goreleaser-pro
```
### deb, rpm and apk packages
Download the `.deb`, `.rpm` or `.apk` from the [OSS][releases] or [Pro][pro-releases] releases pages and install them with the appropriate tools.
@@ -150,7 +195,7 @@ and iterate from that.
Here you have two options:
If you want to contribute to the project, please follow the
steps on our [contributing guide](/contributing).
steps on our [contributing guide](/contributing/).
If you just want to build from source for whatever reason, follow these steps:

View File

@@ -5,7 +5,7 @@ title: CGO
If you need to cross-compile with CGO enabled, our Docker image is not
supported and your config will not look that "clean", unfortunately.
You can check [this cookbook](/cookbooks/cgo-and-crosscompiling) for an
You can check [this cookbook](/cookbooks/cgo-and-crosscompiling/) for an
example.
You can also see the discussion about CGO in

View File

@@ -4,7 +4,8 @@ GoReleaser Pro is now available with some unique features such as:
- Ability to [include](/customization/includes/) config files (useful for common configurations);
- Improved global hooks and [global after hooks](/customization/hooks/);
- [Monorepo support](/customization/monorepo);
- [Monorepo support](/customization/monorepo/);
- [Easy apt and yum repositories with fury.io](/customization/fury/);
- [Custom template variables](/customization/templates/#custom-variables) (goes well with [includes](/customization/includes/)).
<script src="https://gumroad.com/js/gumroad.js"></script>

View File

@@ -36,12 +36,12 @@ accordingly.
GoReleaser will build the binaries for your app for Windows, Linux and macOS,
both amd64 and i386 architectures. You can customize that by changing the
`builds` section. Check the [documentation](/customization/build) for more information.
`builds` section. Check the [documentation](/customization/build/) for more information.
After building the binaries, GoReleaser will create an archive for each OS/Arch
pair into a separate file. You can customize several things by changing
the `archive` section, including releasing only the binaries and not creating
archives at all. Check the [documentation](/customization/archive) for more information.
archives at all. Check the [documentation](/customization/archive/) for more information.
You'll need to export either a `GITHUB_TOKEN` **or** `GITLAB_TOKEN` environment variable, which should
contain a valid GitHub token with the `repo` scope or GitLab token with `api` scope.
@@ -68,7 +68,7 @@ git push origin v0.1.0
```
!!! info
Check if your tag adheres to [semantic versioning](/limitations/semver).
Check if your tag adheres to [semantic versioning](/limitations/semver/).
If you don't want to create a tag yet, you can also run GoReleaser without publishing
based on the latest commit by using the `--snapshot` flag: