Releasing your app

After creating a snap, you should upload it to the Snap Store, from where it can reach a potential audience of millions, or remain private if registered as such.

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 upload --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!

See Store listing and branding for help with making the most of a snap’s store entry, and Release management for controlling which revisions appear on which channels, and to switch a snap between Public and Private visibility and access.

If you want to publish a snap temporarily, to address a fix or test a new feature, see Publish to a branch.

1 Like

Should we mention the snapcraft build service in this topic?

1 Like

Thanks for the suggestion - and yes, I think you’re absolutely right. I know it’s taking a while, but I think this should really be part of Snapcraft build, debug and publishing docs roadmap, which will augment this page. I’ll add a note to the final stage (5. Store upload and optimisation) to make sure we capture this and add instructions for using the build service.

1 Like

“your own built and tested snap working with strict or classic confinement”

@degville Snapcraft overview ends with a snapcraft init run turned into a .snap, and then links to this page. That snap is going to be devmode, but this page suggests you need to upload a snap that’s strict or classic.

Maybe Snapcraft overview should end by pointing at Creating a snap instead?

Thanks for the suggestion, and I think you’re right. I’ll change this now.

Also, sorry for the delay in addressing this - I wanted to look at your comments again after we’d been able to land a few more of the build/lifecycle pages to see how they’d fit in to the overview.

1 Like

I can’t find any documentation on how to create a (temporary) branch. https://snapcraft.io/docs/channels#heading--branches mentions them but contains no pointer to how to do it. https://snapcraft.io/docs/releasing-your-app has nothing, and nor does https://snapcraft.io/docs/release-management. I’ve even done this before, but I can’t find the docs to do it again!

Is this documented anywhere please? If not, then I guess that needs adding, and if so, then perhaps there should be pointers from at least some of the above three pages?

Thanks for bringing this up; I’ll create some docs on creating a temp branch. For now, though, this blog post may help: https://snapcraft.io/blog/time-to-branch-out

1 Like

We’ve now created and published a docs page for branch publishing, and also linked to this page from the pages you list (thank you!): Publish to a branch.