Release management


#1

After a snap has been created and released to the Snap Store, its published revisions can be moved between channels from both the command line and from the Snap Store web UI.

Moving a snap between channels helps to manage a user’s expectations in any trade-off between stability in the stable channel, and cutting edge features in the edge channel (as an arbitrary example). But its also a useful technique for beta testing, or for when a snap needs to revert to a previous revision.

See Releasing your app for details on how to upload and publish a snap if you haven’t done so already.

Release management

The web UI’s release management functionality is equivalent to using snapcraft release on the command line, and both require that you first login to the store.

To access the Snap Store web UI, go to https://snapcraft.io/store and either Create a developer account or login with your developer account credentials.

After logging in to the Snap Store and selecting a published snap, click the ‘Releases’ tab to access the release management functions.

The Releases page lists which revisions of a published snap will be delivered to users tracking a specific channel.

On the command line, with a developer account already created, enter the following to login:

$ snapcraft login

The command line equivalent to the web UI’s Releases page is the output from snapcraft status <snap-name>:

snapcraft status grv
Track    Arch    Channel    Version           Revision
latest   amd64   stable     0.3.2-3-g0a5a940  12
                 candidate  0.3.2-3-g0a5a940  12
                 beta       0.3.2-5-gcffa246  13
                 edge       0.3.2-5-gcffa246  14

To move a snap between channels in the web UI, simply drag a revision from one channel to another, or use the cog drop-down menu on a revision and select a destination. Click Apply to make the requested change.

Screenshot_20190724_131524

On the command line, 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 13 candidate

You can also move earlier revisions back into a channel:

$ snapcraft release mysnap 5 beta

See Channels for more details on how channels, tracks and branches can be used.


Snap documentation
Snapcraft build, debug and publishing docs roadmap (page breakdown)
Using git from a program