1
0
mirror of https://github.com/goreleaser/goreleaser.git synced 2025-03-19 20:57:53 +02:00
Carlos Alexandro Becker 1f1b90025f
docs: update
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2024-07-03 09:31:08 -03:00

2.1 KiB

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 using GoReleaser.

Usage

First, you need to create an account on 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:

# .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:

# 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"

!!! tip

Learn more about the [name template engine](/customization/templates/).