We always use the latest Shopware version in the source code. If you somehow need to fix a previous version, please use a separate branch from the latest release tag of that Shopware version.
Just open the makefile and adjust the Shopware version variable.
Then run this command to test everything.
make shopwareIf you need to adjust PHP or Node versions, please open the installation scripts in the src/scripts directory. If everything works, please create a pull request.
Otherwise, it can happen that you need to adjust things, depending on what has changed :).
All PHP installation scripts and configurations are located in ./src/scripts/install_php.sh and the php directory.
To install a specific PHP version:
- Create a separate script in
./src/scripts/php/install_phpX.Y.sh, whereX.Yis the PHP version. - Modify the
./src/scripts/install_php.shfile to reference your new script.
When building the image, your PHP modifications will be automatically applied.
If you need to make changes that affect all PHP versions:
- Add the changes directly to
install_php.sh.
For PHP-related changes that are not tied to the PHP installation itself, include them in the PHP run layer within the Dockerfile.
All Node.js installation scripts and configurations are located in ./src/scripts/install_node.sh.
To install a specific Node.js version:
- Add the version details to
./src/scripts/install_node.sh.
When building the image, your Node.js modifications will be automatically applied.
Adding additional NPM packages should also take place in the install_node.sh script.
For any other modifications or additions:
- Aim to keep the Dockerfile as clean and organized as possible.
- Install additional tools or dependencies in the run layer using
apt-get installcommands.
When adding new features or modifying existing ones:
- Write corresponding SVRUnit tests to validate your changes.
- Execute the tests using the appropriate command in the makefile.
SVRUnit tests are categorized into sections such as core, features, php, and node. This structure ensures the tests are organized and easy to maintain.