Automated Snap Package build processes without the Build Service
summary
Provides OCI images that bundle snapcraft, snapd and systemd so CI pipelines can build snaps without the public Build Service. Uses privileged Docker + qemu user-static to support amd64 and arm64 emulated builds, runs snapcraft inside the container, builds a CMake hello-world snap (buildable and installable in demos), and can publish via GitHub Actions or GitLab CI using a protected snapcraft credentials file. Requires privileged containers and extra setup for multi-arch; demos succeed after adding setup-qemu.
AI-written summary · about
chapters (15)
- 0:00Automated Snap builds intro
- 3:36Avoiding Snap Build Service
- 5:20CI/CD for Snap packaging
- 6:22Self-hosted Snap build requirements
- 7:45Snap build container setup
- 9:32Snap build in Docker demo
- 19:00GitHub Actions Snap builds
- 24:01Debugging GitHub workflows
- 31:39GitLab CI for Snap builds
- 33:50GitLab CI pipeline demo
- 36:49LXC limitations and alternatives
- 37:31Future Snap tools improvements
- 39:43Publishing Snaps from CI
- 41:24Acknowledgments
- 43:53Q&A
related talks
27mAccelerate your Qt Development with Ubuntu Core and Snaps
19mCrafting snaps quickstart guide 101
25mContainer Development Client for Reproducible Artifacts
25mHow to build and test your snaps automatically using GitHub actions
24mIntroducing OSBuild
48mSnappy Ubuntu Core
45mBuilding an Ephemeral World
27mApplying CI/CD Patterns to Image Mode for RHEL
