1
0
mirror of https://github.com/goreleaser/goreleaser.git synced 2025-02-03 13:11:48 +02:00

86 lines
2.3 KiB
Markdown
Raw Normal View History

2018-02-12 17:53:39 +00:00
---
title: Scoop
series: customization
hideFromIndex: true
weight: 100
2018-02-12 17:53:39 +00:00
---
feat: add gitlab for releases (#1038) * outlines gitlab client integration * makes client parameter more explicit * adds gitlab url to config * changes releaseID to string to adapt to gitlab * updates to latest gitlab client lib 0.18 * fixes copy paster in gitlab upload func * fixes gitlab typo in config * adds gitlab token to env and context * release now uses the client factory method * skips brew pipe if it is not a github release * add github tokentype to publish tests * skips scoop pipe if it is not a github release * corrects brew skip msg * adds gitlab token to main test * adds gitlab to release docs * validates config and errors accordingly * adapt release pipe name to include gitlab * fixes gitlab client after testing * moves not-configured brew and scoop pipe checks as first check * adds more debug to gitlab client * adapts changelog generation for gitlab markdown * adds debug log for gitlab changelog * env needs to run before changelog pipe * moves gitlab default download url to default pipe * moves multiple releases check to from config to release pipe * release differs now for github and gitlab * adds debug gitlab release update msgs * moves env pipe as second after before because it determines the token type other pipes depend on * adaptes error check on gitlab release creation * Revert "adaptes error check on gitlab release creation" This reverts commit 032024571c76140f8e2207ee01cc08088f37594b. * simplifies gitlab client logic. removes comments * skips tls verification for gitlab client if specified in config * updates the docs * adds clarification that brew and scoop are not supported if it is a gitlab release * fixes copy paster in release.md * adds missing blob pipe in defaults and publish due to missing in merge * updates comment in gitlab client
2019-06-29 16:02:40 +02:00
After releasing to GitHub (GitLab is not supported yet), GoReleaser can generate and publish a
2018-02-12 18:50:03 -02:00
_Scoop App Manifest_ into a repository that you have access to.
2018-02-12 17:53:39 +00:00
2018-02-12 18:50:03 -02:00
The `scoop` section specifies how the manifest should be created. See
the commented example bellow:
2018-02-12 17:53:39 +00:00
```yml
# .goreleaser.yml
scoop:
# Template for the url.
# Default is "https://github.com/<repo_owner>/<repo_name>/releases/download/{{ .Tag }}/{{ .ArtifactName }}"
url_template: "http://github.mycompany.com/foo/bar/releases/{{ .Tag }}/{{ .ArtifactName }}"
2018-02-12 17:53:39 +00:00
# Repository to push the app manifest to.
bucket:
owner: user
name: scoop-bucket
# Git author used to commit to the repository.
# Defaults are shown.
commit_author:
name: goreleaserbot
email: goreleaser@carlosbecker.com
# Your app's homepage.
# Default is empty.
homepage: "https://example.com/"
# Your app's description.
# Default is empty.
description: "Software to create fast and easy drum rolls."
# Your app's license
# Default is empty.
license: MIT
# Persist data between application updates
persist:
- "data"
- "config.toml"
2018-02-12 17:53:39 +00:00
```
By defining the `scoop` section, GoReleaser will take care of publishing the
Scoop app. Assuming that the project name is `drumroll` and the current tag is
`v1.2.3`, the above configuration will generate a `drumroll.json` manifest in
the root of the repository specified in the `bucket` section.
```json
{
"version": "1.2.3",
"architecture": {
"64bit": {
"url":
"https://github.com/user/drumroll/releases/download/1.2.3/drumroll_1.2.3_windows_amd64.tar.gz",
2018-09-06 13:20:12 +03:00
"bin": "drumroll.exe",
"hash": "86920b1f04173ee08773136df31305c0dae2c9927248ac259e02aafd92b6008a"
2018-02-12 17:53:39 +00:00
},
"32bit": {
"url":
"https://github.com/user/drumroll/releases/download/1.2.3/drumroll_1.2.3_windows_386.tar.gz",
2018-09-06 13:20:12 +03:00
"bin": "drumroll.exe",
"hash": "283faa524ef41987e51c8786c61bb56658a489f63512b32139d222b3ee1d18e6"
2018-02-12 17:53:39 +00:00
}
},
"homepage": "https://example.com/"
}
```
2018-02-12 18:50:03 -02:00
Your users can then install your app by doing:
```sh
scoop bucket add app https://github.com/org/repo.git
scoop install app
```
You can check the
[Scoop documentation](https://github.com/lukesampson/scoop/wiki) for more
details.