Updates & upgrades
A new version, without worries.
Code is replaced, content stays where it is. Schema changes are always additive – which is why a rollback to the previous release works too.
Process
What happens in every update.
-
Back up
Websites, media poolShared media library for several websites of one installation: images and files exist once and can be used on all participating websites. and shared tables.
-
Replace code
app, vendor, resources, public/assets, bin, kitIn KLXM Studio, the package of design and building blocks for a website: layout, colours, fonts and the matching blocks. A kit can be adapted or switched – the content stays..
-
Migrate
Bring the databases up to the code.
-
Check
health for all websites – only then live.
Recommended
With the deploy script.
Builds, uploads into a new release folder, backs up, migrates, checks – and only switches when everything is green. One-time setup as in deploy/README.md.
-
Describe the target once
Copy from example.env: SSH target, base folder, address for the smoke test. The file does not belong in the repository.
deploy/targets/production.env SSH_TARGET="client@server.example.org" BASE="/var/www/vhosts/client.org" URL="https://www.client.org" -
Staging first
stagingTest environment that mirrors the live website. New features and content can be checked there before they go online – search engines stay locked out.en.wikipedia.org (opens in a new tab) is a separate installation with a copy of the live content (noindex, e-mails redirected).
deploy.sh deploy/sync-content.sh default # live content to staging deploy/deploy.sh staging -
Then live
Automatically backs up all websites, pools and shared tables first; then migrate, extensions:publish and health.
deploy.sh deploy/deploy.sh production -
Back, if needed
Activates the previous release – just a symlink, the database stays.
--rollback deploy/deploy.sh production --rollback
A template for GitHub Actions is included: deploy/github-actions/deploy.yml.example (push to main → staging, production with approval).
Without releases
By upload.
For installations where the code is uploaded directly.
-
Back up
SSH php bin/console site:backup --all php bin/console pool:backup --all php bin/console shared:backup --all -
Replace code
Overwrite app/, vendor/, resources/, public/assets/, bin/, lang/ and the kits. config/, storage/ and the media folders stay untouched.
-
Migrate and publish files
Website databases otherwise migrate themselves on the next request – shared, network and support databases only this way.
SSH php bin/console migrate --all php bin/console extensions:publish php bin/console cache:clear --all -
Check
health php bin/console health --all
Upgrades
Kits and extensions.
Do my kits and extensions fit the new version?
Every kit and extension states its minimum version (requires). Incompatible ones show up in health and the system info; php bin/console kit:check --all reports outdated overrides.
Contact
Talk to KLXM Crossmedia.
Installation, migration or hosting for your project – we are happy to help. We reply personally.
Am Schürmannshütt 40g
47441 Moers
Germany
- Phone
- +49 2841 889998-0
- info@klxm.de
- Website
- klxm.de (opens in a new tab)