Releasing your app


#1

After building and testing a snap, you should upload it to the Snap Store, from where it can reach a potential audience of millions.

You will need the following:

ⓘ If your snap requires classic confinement, your snap will need manual approval before being released. See Classic confinement review process for further details.

Publishing process

To get started, first register a name for your snap in the Snap Store.

Return to the terminal and the location of your .snap file. You now need to authenticate the snapcraft command using your Snapcraft developer account credentials. This can be accomplished with the following:

$ snapcraft login

Next, upload the snap and release it into the stable channel:

$ snapcraft push --release=stable mysnap_latest_amd64.snap

If no errors are detected in the automated review of your upload, your app will be immediately available for installation.

You can now test-install your snap from the Snap Store, ideally from a different testing environment to the one used to build your snap:

$ sudo snap install mysnap

Congratulations, your snap has now been released and is available on the Snap Store!

There are many things you can do to refine your snap and make it more visible to new users. See Getting ready for stable for further details.

Moving snaps between channels

Pushing your snap to a channel other than stable is a good way to manage a user’s expectations of the trade-off between stability and cutting edge features.

To help with this, the snapcraft release command moves your published snap between channels. This is useful if you wish your beta channel users to test a revision before promoting it to candidate or stable for general release.

You can see which revisions are currently held on the store with the snapcraft status command:

$ snapcraft status mysnap
Track    Arch    Channel    Version           Revision
latest   amd64   stable     0.3.0-6           4
                 candidate  0.3.0-7           5
                 beta       0.3.0-9           5 
                 edge       0.3.0-9           7

The release command takes the snap name, the revision you wish to move, and the destination channel (or channels) as its arguments:

$ snapcraft release mysnap 7 beta

You can also move earlier revisions back into a channel:

$ snapcraft release mysnap 5 beta

Releasing to the Snap Store
Proposed new documentation outline
Snapcraft overview
Snap Documentation