Skip to content

Deployments

The following guides outline the core principles and practical steps for deploying Shopware 6 to your infrastructure. They also explain how to build assets for the Administration and Storefront independently of a database, enabling reliable CI/CD pipelines and repeatable releases.

Best practices

Successful deployments are predictable, repeatable, and reversible:

  • Build artifacts once in CI and deploy those artifacts.
  • Keep configuration and secrets outside the codebase.
  • Make database changes predictable.
  • Wherever possible, clearly separate build-time concerns from runtime concerns to ensure consistency across environments.

Cross-cutting practices

Across project types and deployment models, apply the following principles to maintain a stable foundation:

  • Roll forward by default.
  • Keep rollbacks minimal, database-aware, and version-pinned, and rehearse them regularly.
  • Enable maintenance mode for schema-changing releases; to validate the system state, add health checks and smoke tests post-deploy before exiting maintenance.
  • Tag releases consistently across source code, build artifacts, and Store metadata.
  • Retain build logs and deployment reports for traceability and audits.

Custom projects

Apply this approach to keep deployments deterministic and reduce environment-specific drift:

  • Follow the structured flow provided by the Deployment helper to keep steps ordered and reversible.
  • Adopt a repeatable deployment strategy (for example, by integrating the Deployment helper into your automation pipeline) and keep environment configuration and secrets outside the repository.

Custom/Store plugins

Treat plugins as versioned deliverables that integrate cleanly into your deployment workflow (for e.g., via the Deployment helper):

  • Manage extensions via Composer whenever possible. Composer ensures versioned, reproducible installs during deployment.
  • For Store submission or custom distribution workflows, build versioned ZIP artifacts from CI using the Extension build command. Install and activate them via CLI or deployment automation.
  • Execute plugin migrations as part of deployment and ensure update steps are idempotent so that retries remain safe.
  • For Store plugins in particular, avoid post-deployment manual tweaks.

Apps

Apps introduce an additional operational dimension because they rely on external backends and webhooks:

  • Deploy app backends with the same rigor as any web service.
  • Use blue/green or canary strategies to ensure that webhook handling continues uninterrupted during updates.
  • Keep manifest versions aligned with deployed code.
  • When introducing new events, register webhooks before emitting them to avoid delivery gaps.
  • Externalize credentials and endpoints, and design webhook handlers to be retry-safe and suitable for multi-tenant environments.
Was this page helpful?
UnsatisfiedSatisfied
Be the first to vote!
0.0 / 5  (0 votes)