You've already forked goreleaser
mirror of
https://github.com/goreleaser/goreleaser.git
synced 2025-09-16 09:26:52 +02:00
53
www/docs/customization/fury.md
Normal file
53
www/docs/customization/fury.md
Normal 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/
|
@@ -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/).
|
||||
|
@@ -19,4 +19,4 @@ includes:
|
||||
```
|
||||
|
||||
!!! info
|
||||
Includes is a [GoReleaser Pro feature](/pro).
|
||||
Includes is a [GoReleaser Pro feature](/pro/).
|
||||
|
@@ -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.
|
||||
|
@@ -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/).
|
||||
|
@@ -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.
|
||||
|
@@ -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:
|
||||
|
||||
|
@@ -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
|
||||
|
@@ -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>
|
||||
|
@@ -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:
|
||||
|
Reference in New Issue
Block a user