Cloudsmith - apt, rpm, and alpine repositories¶
Since v2.1.
GoReleaser Pro
One or more features are exclusively available with GoReleaser 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
cloudsmiths:
- 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
Discover more about the name template engine.