github.com/fitzix/goreleaser@v0.92.0/www/content/snapcraft.md (about) 1 --- 2 title: Snapcraft 3 series: customization 4 hideFromIndex: true 5 weight: 81 6 --- 7 8 GoReleaser can also generate `snap` packages. 9 [Snaps](http://snapcraft.io/) are a new packaging format, that will let you 10 publish your project directly to the Ubuntu store. 11 From there it will be installable in all the 12 [supported Linux distros](https://snapcraft.io/docs/core/install), with 13 automatic and transactional updates. 14 15 You can read more about it in the [snapcraft docs](https://snapcraft.io/docs/). 16 17 Available options: 18 19 ```yml 20 # .goreleaser.yml 21 snapcraft: 22 # You can change the name of the package. 23 # Default: `{{ .ProjectName }}_{{ .Version }}_{{ .Os }}_{{ .Arch }}{{ if .Arm }}v{{ .Arm }}{{ end }}` 24 name_template: "{{ .ProjectName }}_{{ .Version }}_{{ .Os }}_{{ .Arch }}" 25 26 # Replacements for GOOS and GOARCH in the package name. 27 # Keys should be valid GOOSs or GOARCHs. 28 # Values are the respective replacements. 29 # Default is empty. 30 replacements: 31 amd64: 64-bit 32 386: 32-bit 33 darwin: macOS 34 linux: Tux 35 36 # The name of the snap. This is optional. 37 # Default is project name. 38 name: drumroll 39 40 # Wether to publish the snap to the snapcraft store. 41 # Remember you need to `snapcraft login` first. 42 # Defaults to false. 43 publish: true 44 45 # Single-line elevator pitch for your amazing snap. 46 # 79 char long at most. 47 summary: Software to create fast and easy drum rolls. 48 49 # This the description of your snap. You have a paragraph or two to tell the 50 # most important story about your snap. Keep it under 100 words though, 51 # we live in tweetspace and your description wants to look good in the snap 52 # store. 53 description: | 54 This is the best drum roll application out there. 55 Install it and awe! 56 57 # A guardrail to prevent you from releasing a snap to all your users before 58 # it is ready. 59 # `devel` will let you release only to the `edge` and `beta` channels in the 60 # store. `stable` will let you release also to the `candidate` and `stable` 61 # channels. More info about channels here: 62 # https://snapcraft.io/docs/reference/channels 63 grade: stable 64 65 # Snaps can be setup to follow three different confinement policies: 66 # `strict`, `devmode` and `classic`. A strict confinement where the snap 67 # can only read and write in its own namespace is recommended. Extra 68 # permissions for strict snaps can be declared as `plugs` for the app, which 69 # are explained later. More info about confinement here: 70 # https://snapcraft.io/docs/reference/confinement 71 confinement: strict 72 73 # Each binary built by GoReleaser is an app inside the snap. In this section 74 # you can declare extra details for those binaries. It is optional. 75 apps: 76 77 # The name of the app must be the same name as the binary built or the snapcraft name. 78 drumroll: 79 80 # If your app requires extra permissions to work outside of its default 81 # confined space, declare them here. 82 # You can read the documentation about the available plugs and the 83 # things they allow: 84 # https://snapcraft.io/docs/reference/interfaces. 85 plugs: ["home", "network"] 86 87 # If you want your app to be autostarted and to always run in the 88 # background, you can make it a simple daemon. 89 daemon: simple 90 91 # If you any to pass args to your binary, you can add them with the 92 # args option. 93 args: --foo 94 ``` 95 96 > Learn more about the [name template engine](/templates). 97 98 Note that GoReleaser will not install `snapcraft` nor any of its dependencies 99 for you.