1
0
mirror of https://github.com/goreleaser/goreleaser.git synced 2025-11-06 09:09:29 +02:00

docs: improvements (#1501)

* docs: enable instant

Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>

* fix: minify html

Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>

* fix: edit uri

Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>

* fix: remove uneeded meta

Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>

* docs: several improvements

Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>

* fix: broken links

Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
This commit is contained in:
Carlos Alexandro Becker
2020-05-10 18:59:21 -03:00
committed by GitHub
parent 690e4cd215
commit 943ef1d81f
34 changed files with 112 additions and 94 deletions

View File

@@ -1,7 +1,5 @@
---
title: GitHub Actions
menu: true
weight: 141
---
GoReleaser can also be used within our official [GoReleaser Action][goreleaser-action]

View File

@@ -2,7 +2,7 @@
Here is how to do it with [CircleCI](https://circleci.com):
```yml
```yaml
# .circleci/config.yml
version: 2.1
workflows:

View File

@@ -8,7 +8,7 @@ and that's what you're building off.
This repo has the wrong name, so to prevent GoReleaser from publishing to
the wrong GitHub repo, add to your `.goreleaser.yml` file's release section:
```yml
```yaml
release:
github:
owner: YourGithubUser
@@ -40,7 +40,7 @@ changelog containing just the messages from the commits since the prior tag.
Note that the build performs a shallow clone of git repositories and will
only contain tags that reference the latest commit.
```yml
```yaml
steps:
# Setup the workspace so we have a viable place to point GOPATH at.
- name: gcr.io/cloud-builders/go

View File

@@ -9,7 +9,7 @@ Note that you'll need to enable `tags` in repo settings and add `github_token`
secret.
#### 1.x
```yml
```yaml
# .drone.yml
kind: pipeline
@@ -48,7 +48,7 @@ volumes:
```
#### 0.8
```yml
```yaml
pipeline:
clone:
image: plugins/git

View File

@@ -3,7 +3,7 @@
In [Sempahore 2.0](https://semaphoreci.com) each project starts with the
default pipeline specified in `.semaphore/semaphore.yml`.
```yml
```yaml
# .semaphore/semaphore.yml.
version: v1.0
name: Build
@@ -42,7 +42,7 @@ promotions:
Pipeline file in `.semaphore/goreleaser.yml`:
```yml
```yaml
version: "v1.0"
name: GoReleaser
agent:
@@ -69,7 +69,7 @@ blocks:
The following YAML file, `createSecret.yml` creates a new secret item that is
called GoReleaser with one environment variable, named `GITHUB_TOKEN`:
```yml
```yaml
apiVersion: v1alpha
kind: Secret
metadata:

View File

@@ -1,7 +1,5 @@
---
title: Contributing
menu: true
weight: 998
---
This page will eventually have information for those who want to contribute

View File

@@ -8,7 +8,7 @@ additional files, and format.
Here is a commented `archives` section with all fields specified:
```yml
```yaml
# .goreleaser.yml
archives:
-
@@ -71,7 +71,8 @@ archives:
- templates/**/*
```
> Learn more about the [name template engine](/templates).
!!! tip
Learn more about the [name template engine](/customization/templates).
You can add entire folders, its subfolders and files by using the glob notation,
for example: `myfolder/**/*`.

View File

@@ -1,5 +1,5 @@
---
title: Blob
title: Blobs
---
## Customization
@@ -51,7 +51,8 @@ blobs:
folder: "foo/bar/{{.Version}}"
```
> Learn more about the [name template engine](/templates).
!!! tip
Learn more about the [name template engine](/customization/templates).
## Authentication

View File

@@ -9,7 +9,7 @@ the name of the binary, flags, environment variables, hooks and etc.
Here is a commented `builds` section with all fields specified:
```yml
```yaml
# .goreleaser.yml
builds:
# You can have multiple builds defined as a yaml list
@@ -115,7 +115,8 @@ builds:
skip: false
```
> Learn more about the [name template engine](/templates).
!!! tip
Learn more about the [name template engine](/customization/templates).
## Passing environment variables to ldflags
@@ -143,7 +144,7 @@ or defined explicitly.
In addition to simple declarations as shown above _multiple_ hooks can be declared
to help retaining reusability of config between different build environments.
```yml
```yaml
builds:
-
id: "with-hooks"
@@ -161,7 +162,7 @@ builds:
Each hook can also have its own work directory and environment variables:
```yml
```yaml
builds:
-
id: "with-hooks"
@@ -177,7 +178,7 @@ builds:
- second-script.sh
```
All properties of a hook (`cmd`, `dir` and `env`) support [templating](/customization/#Name%20Templates)
All properties of a hook (`cmd`, `dir` and `env`) support [templating](/customization/templates)
with `post` hooks having binary artifact available (as these run _after_ the build).
Additionally the following build details are exposed to both `pre` and `post` hooks:
@@ -210,7 +211,7 @@ Environment variables are inherited and overridden in the following order:
# rest of the file...
```
[hook]: /hooks
[hook]: /customization/hooks
## Define Build Tag

View File

@@ -7,7 +7,7 @@ release, so your users can validate if the downloaded files are correct.
The `checksum` section allows customizations of the filename:
```yml
```yaml
# .goreleaser.yml
checksum:
# You can change the name of the checksums file.
@@ -20,4 +20,5 @@ checksum:
algorithm: sha256
```
> Learn more about the [name template engine](/templates).
!!! tip
Learn more about the [name template engine](/customization/templates).

View File

@@ -14,7 +14,7 @@ If you have only one `build` setup,
the configuration is as easy as adding the
name of your image to your `.goreleaser.yml` file:
The docker image declaration supports templating. Learn more about the [name template engine](/templates).
The docker image declaration supports templating. Learn more about the [name template engine](/customization/templates).
```yaml
dockers:
@@ -102,7 +102,8 @@ dockers:
- config.yml
```
> Learn more about the [name template engine](/templates).
!!! tip
Learn more about the [name template engine](/customization/templates).
These settings should allow you to generate multiple Docker images,
for example, using multiple `FROM` statements,
@@ -128,7 +129,8 @@ This will build and public the following images:
- `myuser/foo`
> Learn more about the [name template engine](/templates).
!!! tip
Learn more about the [name template engine](/customization/templates).
## Keeping docker images updated for current major
@@ -159,7 +161,8 @@ This will build and publish the following images:
With these settings you can hopefully push several different docker images
with multiple tags.
> Learn more about the [name template engine](/templates).
!!! tip
Learn more about the [name template engine](/customization/templates).
## Publishing to multiple docker registries
@@ -216,4 +219,5 @@ docker build -t myuser/myimage . \
--label=org.opencontainers.image.version=1.6.4
```
> Learn more about the [name template engine](/templates).
!!! tip
Learn more about the [name template engine](/customization/templates).

View File

@@ -2,8 +2,8 @@
title: Homebrew
---
After releasing to GitHub or GitLab, GoReleaser can generate and publish a _homebrew-tap_
recipe into a repository that you have access to.
After releasing to GitHub or GitLab, GoReleaser can generate and publish
a _homebrew-tap_ recipe into a repository that you have access to.
The `brews` section specifies how the formula should be created.
You can check the
@@ -12,10 +12,12 @@ and the
[formula cookbook](https://github.com/Homebrew/brew/blob/master/docs/Formula-Cookbook.md)
for more details.
**Note**: If you have multiple arm 32-bit versions in each `build` section, and
you do not specify any `ids` in the brew section (default to all artifacts), then goreleaser will fail.
!!! note
If you have multiple arm 32-bit versions in each `build` section, and
you do not specify any `ids` in the brew section (default to all artifacts),
then GoReleaser will fail.
```yml
```yaml
# .goreleaser.yml
brews:
-
@@ -131,7 +133,8 @@ brews:
...
```
> Learn more about the [name template engine](/templates).
!!! tip
Learn more about the [name template engine](/customization/templates).
By defining the `brew` section, GoReleaser will take care of publishing the
Homebrew tap.
@@ -170,7 +173,8 @@ class Program < Formula
end
```
**Important**: Note that GoReleaser does not generate a valid
homebrew-core formula. The generated formulas are meant to be published as
[homebrew taps](https://docs.brew.sh/Taps.html), and in their current
form will not be accepted in any of the official homebrew repositories.
!!! info
Note that GoReleaser does not generate a valid homebrew-core formula.
The generated formulas are meant to be published as
[homebrew taps](https://docs.brew.sh/Taps.html), and in their current
form will not be accepted in any of the official homebrew repositories.

View File

@@ -8,7 +8,7 @@ the build is started.
The configuration is very simple, here is a complete example:
```yml
```yaml
# .goreleaser.yml
before:
# Templates for the commands to be ran.
@@ -26,4 +26,5 @@ It is important to note that you can't have "complex" commands, like
to do things that are more complex than just calling a command with some
attributes, wrap it in a shell script or into your `Makefile`.
> Learn more about the [name template engine](/templates).
!!! tip
Learn more about the [name template engine](/customization/templates).

View File

@@ -7,12 +7,12 @@ generate and publish `.deb` and `.rpm` packages.
Available options:
```yml
```yaml
# .goreleaser.yml
nfpms:
# note that this is an array of nfpm configs
-
# ID of the nfpm config, must be unique.
# ID of the nfpm config, must be unique.
# Defaults to "default".
id: foo
@@ -152,4 +152,5 @@ nfpms:
preinstall: "scripts/preinstall-rpm.sh"
```
> Learn more about the [name template engine](/templates).
!!! tip
Learn more about the [name template engine](/customization/templates).

View File

@@ -106,4 +106,5 @@ publishers:
These settings should allow you to push your artifacts to any number of endpoints
which may require non-trivial authentication or has otherwise complex requirements.
> Learn more about the [name template engine](/templates).
!!! tip
Learn more about the [name template engine](/customization/templates).

View File

@@ -8,7 +8,7 @@ previous tag.
Let's see what can be customized in the `release` section for GitHub:
```yml
```yaml
# .goreleaser.yml
release:
# Repo in which the release will be created.
@@ -54,9 +54,8 @@ release:
```
Second, let's see what can be customized in the `release` section for GitLab.
**Note** that only GitLab `v11.7+` are supported for releases:
```yml
```yaml
# .goreleaser.yml
release:
# Same as for github
@@ -90,8 +89,12 @@ release:
- glob: ./glob/foo/to/bar/file/foobar/override_from_previous
```
!!! warning
Only GitLab `v11.7+` are supported for releases.
You can also configure the `release` section to upload to a [Gitea](https://gitea.io) instance:
```yml
```yaml
# .goreleaser.yml
release:
# Same as for github and gitlab
@@ -134,9 +137,11 @@ ALLOWED_TYPES = application/gzip|application/x-gzip|application/x-gtar|applicati
> Gitea versions earlier than 1.9.2 do not support uploading `checksums.txt` files because of a [bug](https://github.com/go-gitea/gitea/issues/7882)
so you will have to enable all file types with `*/*`.
**Note**: `draft` and `prerelease` are only supported by GitHub and Gitea.
!!! warning
`draft` and `prerelease` are only supported by GitHub and Gitea.
> Learn more about the [name template engine](/templates).
!!! tip
Learn more about the [name template engine](/customization/templates).
## Customize the changelog
@@ -188,6 +193,7 @@ Some changelog generators you can use:
- [buchanae/github-release-notes](https://github.com/buchanae/github-release-notes)
> **Important**: If you create the release before running GoReleaser, and the
> said release has some text in its body, GoReleaser will not override it with
> it's release notes.
!!! info
If you create the release before running GoReleaser, and the
said release has some text in its body, GoReleaser will not override it with
it's release notes.

View File

@@ -8,7 +8,7 @@ _Scoop App Manifest_ into a repository that you have access to.
The `scoop` section specifies how the manifest should be created. See
the commented example bellow:
```yml
```yaml
# .goreleaser.yml
scoop:
# Template for the url which is determined by the given Token (github or gitlab)

View File

@@ -25,7 +25,7 @@ signs:
To customize the signing pipeline you can use the following options:
```yml
```yaml
# .goreleaser.yml
signs:
-

View File

@@ -13,7 +13,7 @@ You can read more about it in the [snapcraft docs](https://snapcraft.io/docs/).
Available options:
```yml
```yaml
# .goreleaser.yml
snapcrafts:
-
@@ -126,7 +126,8 @@ snapcrafts:
- $HOME/.foobar
```
> Learn more about the [name template engine](/templates).
!!! tip
Learn more about the [name template engine](/customization/templates).
Note that GoReleaser will not install `snapcraft` nor any of its dependencies
for you.

View File

@@ -8,7 +8,7 @@ but neither want to validate anything nor upload it to anywhere.
GoReleaser supports this with the `--snapshot` flag
and also with the `snapshot` customization section:
```yml
```yaml
# .goreleaser.yml
snapshot:
# Allows you to change the name of the generated snapshot
@@ -28,7 +28,8 @@ variable to the evaluation of `snapshot.name_template`.
This means that if you use `{{ .Version }}` on your name templates, you'll
get the snapshot version.
> Learn more about the [name template engine](/templates).
!!! tip
Learn more about the [name template engine](/customization/templates).
Note that the idea behind GoReleaser's snapshots if mostly for local builds
or to validate your build on the CI pipeline. Artifacts shouldn't be uploaded

View File

@@ -5,7 +5,7 @@ title: Source Archive
You may add the current tag source archive to the release as well. This is particularly
useful if you want to sign it, for example.
```yml
```yaml
# .goreleaser.yml
source:
# Whether this pipe is enabled or not.
@@ -22,4 +22,5 @@ source:
format: 'tar'
```
> Learn more about the [name template engine](/templates).
!!! tip
Learn more about the [name template engine](/customization/templates).

View File

@@ -178,4 +178,5 @@ uploads:
These settings should allow you to push your artifacts into multiple HTTP servers.
> Learn more about the [name template engine](/templates).
!!! tip
Learn more about the [name template engine](/customization/templates).

View File

@@ -1,8 +1,5 @@
---
title: Deprecation notices
menu: true
weight: 500
hideFromIndex: true
---
This page will be used to list deprecation notices across GoReleaser.

View File

@@ -1,7 +1,5 @@
---
title: Environment
weight: 20
menu: true
---
## API Tokens
@@ -30,8 +28,9 @@ env_files:
gitea_token: ~/.path/to/my/gitea_token
```
**IMPORTANT**: you can define multiple env files, but the release process will fail
because multiple tokens are defined. Use only one.
!!! info
you can define multiple env files, but the release process will fail
because multiple tokens are defined. Use only one.
## GitHub Enterprise
@@ -121,4 +120,7 @@ You can override this by changing the `ldflags` option in the `build` section.
## Overriding Git Tags
You can force the [build tag](/build#define-build-tag) and [previous changelog tag](/release#define-previous-tag) using environment variables. This is useful in cases where one git commit is referenced by multiple git tags.
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

@@ -81,7 +81,7 @@ and iterate from that.
[dockerfile]: https://github.com/goreleaser/goreleaser/blob/master/Dockerfile
[releases]: https://github.com/goreleaser/goreleaser/releases
### Compiling from source
## Compiling from source
Here you have two options:

10
www/docs/intro.md Normal file
View File

@@ -0,0 +1,10 @@
# Introduction
GoReleaser is a release automation tool for Go projects.
The goal is to simplify the build, release and publish steps while providing
variant customization options for all steps.
GoReleaser is built for CI tools, you only need to download and execute it in
your build script. Of course, you can also install it locally if you wish.
You can also customize your release process through a `.goreleaser.yml` file.

View File

@@ -1,7 +1,5 @@
---
title: CGO
weight: 12
menu: true
---
Unfortunately, GoReleaser does not support CGO.

View File

@@ -1,7 +1,5 @@
---
title: Semantic Versioning
weight: 11
menu: true
---
GoReleaser enforces semantic versioning and will error on non compliant tags.
@@ -9,6 +7,6 @@ GoReleaser enforces semantic versioning and will error on non compliant tags.
Your tag **should** be a valid [semantic version](http://semver.org/).
If it is not, GoReleaser will error.
The `v` prefix is not mandatory. You can check the [templating](/templates)
The `v` prefix is not mandatory. You can check the [templating](/customization/templates)
documentation to see how to use the tag or each part of the semantic version
in name templates.

View File

@@ -1,7 +1,5 @@
---
title: Links
menu: true
weight: 999
---
- Follow the progress on the [GitHub repository](https://github.com/goreleaser/goreleaser)

View File

@@ -120,9 +120,8 @@
<img src="static/logo.png" alt="" draggable="false">
</div>
<div class="tx-hero__content">
<h1>GoReleaser is a release automation tool for Go projects.</h1>
<p>The goal is to simplify the build, release and publish steps while providing variant customization
options for all steps.</p>
<h1>GoReleaser</h1>
<p>Release Go projects as fast and easily as possible!</p>
<a href="{{ page.next_page.url | url }}" title="{{ page.next_page.title | striptags }}"
class="md-button md-button--primary">
Get started

View File

@@ -39,12 +39,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](/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](/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.
@@ -67,7 +67,7 @@ $ git push origin v0.1.0
```
!!! info
Check if your tag adheres to [semantic versioning](/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:

View File

@@ -1,7 +1,5 @@
---
title: Sponsors
menu: true
weight: 600
---
Does your company use goreleaser? Help keep the project bug-free and feature rich by [sponsoring the project](https://opencollective.com/goreleaser#sponsor).

View File

@@ -1,7 +1,5 @@
---
title: Tutorials and posts
menu: true
weight: 998
---
Tutorials made by the community.

View File

@@ -3,13 +3,11 @@ site_description: Deliver Go binaries as fast and easily as possible
copyright: Made with ❤️ by GoReleaser contributors.
repo_name: goreleaser/goreleaser
repo_url: https://github.com/goreleaser/goreleaser
edit_uri: edit/master/www/docs/
theme:
name: material
custom_dir: docs/overrides
features: []
# - instant
# - tabs
language: en
logo: static/avatar.png
favicon: static/favicon.ico
@@ -22,8 +20,8 @@ plugins:
prebuild_index: python
lang:
- en
# - minify:
# minify_html: true
- minify:
minify_html: true
extra:
@@ -39,6 +37,7 @@ google_analytics:
nav:
- Home: index.md
- intro.md
- install.md
- quick-start.md
- environment.md