Snapcraft builds, packages and publishes snaps. It’s available for Ubuntu, many other Linux distributions, and macOS, and runs from the command line.
With Snapcraft, developers can use platform-specific plugins and extensions to streamline and simplify the build process. Snaps can then be tested and shared locally before being published to the global Snap Store within channels, tracks and branches to finely control releases.
Snapcraft does all of this within a self-launched LXD or Multipasscontainer, or natively from your own environment, and includes linting, debug and staging functions to help solve problems. You can also incorporate Snapcraft package building into your CI systems, and build snaps remotely from either GitHub or our Launchpad build farm.
From desktop applications, servers and cloud deployments, to embedded devices and IoT. From a single user to hundreds of thousands of users, Snapcraft can help.
In this documentation
Tutorials Get started - a hands-on introduction to building snaps with Snapcraft
How-to guides Step-by-step guides covering key operations and common tasks
Reference Technical information - plugins, extensions and architecture
Explanation Concepts - discussion and clarification of key topics
Project and community
Snap and Snapcraft are members of the Ubuntu family. They’re both open source projects that welcome community involvement, contributions, suggestions, fixes and constructive feedback.