
GoReleaser: Azure DevOps Extension




Overview
This task allows you to easily run GoReleaser within your Azure Pipeline jobs.
Howto
See the blog article Use GoReleaser With Azure DevOps
for a detailed explanation of how to use this extension in your Azure Pipeline jobs.
QuickStart

Customizing
Add the plugin via Azure Pipeline Editor

or directly into your azure-pipeline.yaml

- task: goreleaser@0
inputs:
version: 'latest'
distribution: 'goreleaser'
args: ''
workdir: '$(Build.SourcesDirectory)'
Following inputs can be used
| Name |
Type |
Default |
Description |
distribution |
String |
goreleaser |
GoReleaser distribution, either goreleaser or goreleaser-pro |
version |
String |
latest |
GoReleaser version (see below) |
args |
String |
|
Arguments to pass to GoReleaser |
workdir |
String |
$(Build.SourcesDirectory) |
Working directory (below repository root) |
installOnly |
Bool |
false |
Just install GoReleaser |
The version input accepts:
latest (default) — grabs the most recent release
- An exact version like
v2.6.1
- A semver range like
~> 2.6, which resolves to the highest matching release (e.g. the latest 2.6.x patch)
For GoReleaser Pro, append -pro to the version (e.g. v2.6.1-pro).
Examples
# Latest version
- task: goreleaser@0
inputs:
version: 'latest'
distribution: 'goreleaser'
args: 'release --clean'
# Exact version
- task: goreleaser@0
inputs:
version: 'v2.6.1'
distribution: 'goreleaser'
args: 'release --clean'
# Semver range — gets latest 2.6.x
- task: goreleaser@0
inputs:
version: '~> 2.6'
distribution: 'goreleaser'
args: 'release --clean'
# GoReleaser Pro
- task: goreleaser@0
inputs:
version: 'v2.6.1-pro'
distribution: 'goreleaser-pro'
args: 'release --clean'
Environment variables
Following environment variables can be used, as environment variable.
| Name |
Description |
GITHUB_TOKEN |
GITHUB_TOKEN for e.g. brew or gofish |
GORELEASER_KEY |
Your GoReleaser Pro License Key, in case you are using the goreleaser-pro distribution |
Limitation
I think, you should either disable the release step. Or create a "
dummy" repo in GitHub, so you can still use your own homebrew tap or gofish repo.
GoReleaser is not supporting Azure Artifacts currently.
You need to use Publish Pipeline Artifacts to publish the artifact inside Azure DevOps.
Tutorials
Documentation
Please refer to https://goreleaser.com/intro/ for more documentation on using
GoReleaser.
Links
License
MIT
see LICENSE for details.