Packaging for Deployment

A Sling application ships as a handful of artifact types: OSGi bundles (Java code), content packages (FileVault zips for /apps, /content and configuration), and a feature model aggregate that lists which bundles and packages belong together.

All of that gets baked into a container image so the same artifact runs identically in development and production.

CI/CD Basics

Build the artifact once, then promote that exact image through environments (test → staging → production) instead of rebuilding per environment — the classic build-once, deploy-many pipeline. Automated integration tests should run against the built image before it is promoted.