1
0
mirror of https://github.com/goreleaser/goreleaser.git synced 2025-02-01 13:07:49 +02:00

docs: update

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
This commit is contained in:
Carlos Alexandro Becker 2024-07-03 09:31:08 -03:00
parent b7ba1826a7
commit 1f1b90025f
No known key found for this signature in database
14 changed files with 256 additions and 5 deletions

View File

@ -27,7 +27,7 @@ goreleaser release [flags]
--release-notes string Load custom release notes from a markdown file (will skip GoReleaser changelog generation)
--release-notes-tmpl string Load custom release notes from a templated markdown file (overrides --release-notes)
--single-target Builds only for current GOOS and GOARCH, regardless of what's set in the configuration file (implies --skip=publish) (Pro only)
--skip strings Skip the given options (valid options are: after, announce, archive, aur, before, before-publish, chocolatey, dmg, docker, dockerhub, fury, homebrew, ko, msi, nfpm, nix, notarize, publish, sbom, scoop, sign, snapcraft, validate, winget)
--skip strings Skip the given options (valid options are: after, announce, archive, aur, before, before-publish, chocolatey, cloudsmith, dmg, docker, dockerhub, fury, homebrew, ko, msi, nfpm, nix, notarize, publish, sbom, scoop, sign, snapcraft, validate, winget)
--snapshot Generate an unversioned snapshot release, skipping all validations and without publishing any artifacts (implies --skip=announce,publish,validate)
--split Split the build so it can be merged and published later (implies --prepare) (Pro only)
--timeout duration Timeout to the entire release process (default 30m0s)

View File

@ -29,14 +29,19 @@ aurs:
- bar
# Your app's homepage.
#
# Default: inferred from global metadata.
homepage: "https://example.com/"
# Your app's description.
#
# Templates: allowed.
# Default: inferred from global metadata.
description: "Software to create fast and easy drum rolls."
# The maintainers of the package.
#
# Default: inferred from global metadata.
maintainers:
- "Foo Bar <foo at bar dot com>"
@ -45,6 +50,8 @@ aurs:
- "Foo Zaz <foo at zaz dot com>"
# SPDX identifier of your app's license.
#
# Default: inferred from global metadata.
license: "MIT"
# The SSH private key that should be used to commit to the Git repository.

View File

@ -4,7 +4,7 @@
!!! success "GoReleaser Pro"
DockerHub is a [GoReleaser Pro feature](/pro/).
Before publish hooks is a [GoReleaser Pro feature](/pro/).
You can use the `before_publish` hooks to run command against artifacts before
the publishing step kicks in.

View File

@ -0,0 +1,90 @@
# Cloudsmith (deb, rpm, and alpine repositories)
> Since v2.1 (Pro).
!!! success "GoReleaser Pro"
The Cloudsmith publisher is available only in [GoReleaser Pro feature](/pro/).
You can easily create `deb`, `alpine`, and `yum` repositories on
[Cloudsmith][cloudsmith] using GoReleaser.
## Usage
First, you need to create an account on [Cloudsmith][cloudsmith] and get an API
token.
Then, you need to pass your account name to GoReleaser and have your push token
as an environment variable named `CLOUDSMITH_TOKEN`:
```yaml
# .goreleaser.yaml
furies:
- organization: myorg
repository: myrepo
distributions:
deb: "ubuntu/xenial"
alpine: "alpine/v3.8"
rpm: "el/7"
```
This will automatically upload all your `apk`, `deb`, and `rpm` files.
## Customization
You can also have plenty of customization options:
```yaml
# goreleaser.yaml
cloudsmiths:
- # Cloudsmith organization.
# Config is skipped if empty
#
# Templates: allowed.
organization: "{{ .Env.CLOUDSMITH_ORG }}"
# Cloudsmith repository.
# Config is skipped if empty
#
# Templates: allowed.
organization: "{{ .ProjectName }}"
# Skip the announcing feature in some conditions, for instance, when
# publishing patch releases.
# Any value different of 'true' will be considered 'false'.
#
# Templates: allowed.
skip: "{{gt .Patch 0}}"
# Environment variable name to get the push token from.
# You might want to change it if you have multiple Cloudsmith configurations
# for some reason.
#
# Default: 'CLOUDSMITH_TOKEN'.
secret_name: MY_ACCOUNT_CLOUDSMITH_TOKEN
# IDs to filter by.
ids:
- packages
# Formats to upload.
# Available options are `apk`, `deb`, and `rpm`.
#
# Default: ['apk', 'deb', 'rpm'].
formats:
- deb
# Map of which distribution to use for each format.
# Publish will be skipped if this is empty/not found.
distributions:
deb: "ubuntu/xenial"
rpm: "el/7"
alpine: "alpine/v3.8"
```
[cloudsmith]: https://cloudsmith.io/
!!! tip
Learn more about the [name template engine](/customization/templates/).

View File

@ -99,14 +99,19 @@ brews:
caveats: "How to use this binary"
# Your app's homepage.
#
# Default: inferred from global metadata.
homepage: "https://example.com/"
# Your app's description.
#
# Templates: allowed.
# Default: inferred from global metadata.
description: "Software to create fast and easy drum rolls."
# SPDX identifier of your app's license.
#
# Default: inferred from global metadata.
license: "MIT"
# Setting this will prevent goreleaser to actually try to commit the updated

View File

@ -57,18 +57,22 @@ krews:
commit_msg_template: "Krew plugin update for {{ .ProjectName }} version {{ .Tag }}"
# Your app's homepage.
#
# Default: inferred from global metadata.
homepage: "https://example.com/"
# Your app's description.
# The usual guideline for this is to wrap the line at 80 chars.
#
# Templates: allowed.
# Default: inferred from global metadata.
description: "Software to create fast and easy drum rolls."
# Your app's short description.
# The usual guideline for this is to be at most 50 chars long.
#
# Templates: allowed.
# Default: inferred from global metadata.
short_description: "Software to create fast and easy drum rolls."
# Caveats for the user of your binary.

View File

@ -3,14 +3,66 @@
GoReleaser creates some metadata files in the `dist` directory before it
finishes running.
These are the options available:
You can also set some global defaults that can be used by other features.
```yaml
# .goreleaser.yaml
#
metadata:
# Set the modified timestamp on the metadata files.
#
# Templates: allowed.
mod_timestamp: "{{ .CommitTimestamp }}"
# The maintainers of this software.
# Most features will only use the first maintainer defined here.
#
# This feature is only available in GoReleaser Pro.
# Since: v2.1 (pro).
# Templates: allowed.
maintainers:
- "Foo Bar <foo at bar dot com>"
# SPDX identifier of your app's license.
#
# This feature is only available in GoReleaser Pro.
# Since: v2.1 (pro).
# Templates: allowed.
license: "MIT"
# Your homepage.
#
# This feature is only available in GoReleaser Pro.
# Since: v2.1 (pro).
# Templates: allowed.
homepage: "https://example.com/"
# Your app's description.
# Sometimes also referred as "short description".
#
# This feature is only available in GoReleaser Pro.
# Since: v2.1 (pro).
# Templates: allowed.
description: "Software to create fast and easy drum rolls."
# Your app's full description, sometimes also referred to as "long description".
#
# It can be a string directly, or you can use `from_url` or `from_file` to
# source it from somewhere else.
#
# This feature is only available in GoReleaser Pro.
# Since: v2.1 (pro).
# Templates: allowed.
full_description:
# Loads from an URL.
from_url:
# Templates: allowed.
url: https://foo.bar/README.md
headers:
x-api-token: "${MYCOMPANY_TOKEN}"
# Loads from a local file.
# Overrides `from_url`.
from_file:
# Templates: allowed.
path: ./README.md
```

View File

@ -37,17 +37,25 @@ nfpms:
vendor: Drum Roll Inc.
# Your app's homepage.
#
# Default: inferred from global metadata.
homepage: https://example.com/
# Your app's maintainer (probably you).
#
# Default: inferred from global metadata.
maintainer: Drummer <drum-roll@example.com>
# Your app's description.
#
# Default: inferred from global metadata.
description: |-
Drum rolls installer package.
Software to create fast and easy drum rolls.
# Your app's license.
#
# Default: inferred from global metadata.
license: Apache 2.0
# Formats to be generated.

View File

@ -52,14 +52,18 @@ nix:
# Your app's homepage.
#
# Templates: allowed.
# Default: inferred from global metadata.
homepage: "https://example.com/"
# Your app's description.
#
# Templates: allowed.
# Default: inferred from global metadata.
description: "Software to create fast and easy drum rolls."
# License name.
#
# Default: inferred from global metadata.
license: "mit"
# Setting this will prevent goreleaser to actually try to commit the updated

View File

@ -55,14 +55,18 @@ scoops:
# Your app's homepage.
#
# Templates: allowed.
# Default: inferred from global metadata.
homepage: "https://example.com/"
# Your app's description.
#
# Templates: allowed.
# Default: inferred from global metadata.
description: "Software to create fast and easy drum rolls."
# Your app's license
#
# Default: inferred from global metadata.
license: MIT
# Setting this will prevent goreleaser to actually try to commit the updated

View File

@ -25,12 +25,14 @@ winget:
#
# Templates: allowed.
# Required
# Default: inferred from global metadata.
short_description: "Software to create fast and easy drum rolls."
# License name.
#
# Templates: allowed.
# Required
# Default: inferred from global metadata.
license: "mit"
# Publisher URL.
@ -102,11 +104,14 @@ winget:
path: manifests/g/goreleaser/myproject/1.19
# Your app's homepage.
#
# Default: inferred from global metadata.
homepage: "https://example.com/"
# Your app's long description.
#
# Templates: allowed.
# Default: inferred from global metadata.
description: "Software to create fast and easy drum rolls."
# License URL.

View File

@ -3,6 +3,9 @@
GoReleaser Pro is a paid, closed-source GoReleaser distribution with some
additional features:
- [x] Easily create `alpine`, `apt`, and `yum` repositories with the
[CloudSmith integration](./customization/cloudsmith.md);
- [x] Have [global defaults for homepage, description, etc](./customization/metadata.md);
- [x] Run [hooks before publishing](/customization/beforepublish) artifacts;
- [x] Cross publish (e.g. releases to GitLab, pushes Homebrew Tap to GitHub);
- [x] Keep [DockerHub image descriptions up to date](/customization/dockerhub);

70
www/docs/static/schema-pro.json generated vendored
View File

@ -834,6 +834,47 @@
"additionalProperties": false,
"type": "object"
},
"Cloudsmith": {
"properties": {
"ids": {
"items": {
"type": "string"
},
"type": "array"
},
"organization": {
"type": "string"
},
"repository": {
"type": "string"
},
"formats": {
"items": {
"type": "string"
},
"type": "array"
},
"secret_name": {
"type": "string"
},
"disable": {
"type": "string"
},
"distributions": {
"additionalProperties": {
"type": "string"
},
"type": "object"
}
},
"additionalProperties": false,
"type": "object",
"required": [
"organization",
"repository",
"distributions"
]
},
"CommitAuthor": {
"properties": {
"name": {
@ -1313,7 +1354,10 @@
}
},
"additionalProperties": false,
"type": "object"
"type": "object",
"required": [
"account"
]
},
"Git": {
"properties": {
@ -3036,6 +3080,12 @@
},
"type": "array"
},
"cloudsmiths": {
"items": {
"$ref": "#/$defs/Cloudsmith"
},
"type": "array"
},
"dockerhub": {
"items": {
"$ref": "#/$defs/DockerHub"
@ -3056,6 +3106,24 @@
"properties": {
"mod_timestamp": {
"type": "string"
},
"description": {
"type": "string"
},
"homepage": {
"type": "string"
},
"license": {
"type": "string"
},
"maintainers": {
"items": {
"type": "string"
},
"type": "array"
},
"full_description": {
"$ref": "#/$defs/IncludedMarkdown"
}
},
"additionalProperties": false,

View File

@ -133,6 +133,7 @@ nav:
- customization/snapshots.md
- customization/nightlies.md
- customization/blob.md
- customization/cloudsmith.md
- customization/fury.md
- customization/dockerhub.md
- customization/homebrew.md