Skip to main content
Version: 7.x

How to Deploy a Shopware Project

require 'recipe/shopware.php';

Source

Deployer is a free and open source deployment tool written in PHP. It helps you to deploy your Shopware application to a server. It is very easy to use and has a lot of features.

Three main features of Deployer are:

  • Provisioning - provision your server for you.
  • Zero downtime deployment - deploy your application without a downtime.
  • Rollbacks - rollback your application to a previous version, if something goes wrong.

Additionally, Deployer has a lot of other features, like:

  • Easy to use - Deployer is very easy to use. It has a simple and intuitive syntax.
  • Fast - Deployer is very fast. It uses parallel connections to deploy your application.
  • Secure - Deployer uses SSH to connect to your server.
  • Supports all major PHP frameworks - Deployer supports all major PHP frameworks.

You can read more about Deployer in Getting Started.

The deploy task of Shopware consists of:

The shopware recipe is based on the common recipe.

Usage

Add {{repository}} to your deploy.php file:

set('repository', 'git@github.com:shopware/production.git');
note

Please remember that the installation must be modified so that it can be build without database.

Configuration

default_timeout

Source

Overrides default_timeout from recipe/common.php.

shared_files

Source

Overrides shared_files from recipe/deploy/shared.php.

These files are shared among all releases.

Default value
[
'.env',
'install.lock',
'public/.htaccess',
'public/.user.ini',
]

shared_dirs

Source

Overrides shared_dirs from recipe/deploy/shared.php.

These directories are shared among all releases.

Default value
[
'config/jwt',
'files',
'var/log',
'public/media',
'public/thumbnail',
'public/sitemap',
]

writable_dirs

Source

Overrides writable_dirs from recipe/deploy/writable.php.

These directories are made writable (the definition of "writable" requires attention). Please note that the files in config/jwt/* receive special attention in the sw:writable:jwt task.

Default value
[
'config/jwt',
'custom/plugins',
'files',
'public/bundles',
'public/css',
'public/fonts',
'public/js',
'public/media',
'public/sitemap',
'public/theme',
'public/thumbnail',
'var',
]

Tasks

sw:cache:clear

Source

This task remotely executes the cache:clear console command on the target server.

sw:cache:warmup

Source

This task remotely executes the cache warmup console commands on the target server, so that the first user, who visits the website, doesn't have to wait for the cache to be built up.

sw:database:migrate

Source

This task remotely executes the database:migrate console command on the target server.

sw:plugin:refresh

Source

sw:plugin:update:all

Source

sw:writable:jwt

Source

sw:deploy

Source

Grouped SW deploy tasks.

This task is group task which contains next tasks:

deploy

Source

Deploys your project.

This task is group task which contains next tasks:

sw-build-without-db:get-remote-config

Source

sw-build-without-db:build

Source

sw-build-without-db

Source

This task is group task which contains next tasks: