Project structure
An Adobe Commerce on cloud infrastructure project includes essential files for credentials and application configuration. These files are available in as template according to the Adobe Commerce version. See the cloud templates based on Adobe Commerce version in the magento/magento-cloud GitHub repository.
The following table describes the files included in a cloud project:
/.magento/routes.yamlwww to the apex domain and php application to serve HTTP. See Configure routes./.magento/services.yaml/appcode folder is used for custom modules. The design folder is used for custom themes. The etc folder contains configuration files for the application./m2-hotfixes/update.gitignore.gitignore reference..magento.app.yaml.magento.env.yamlece-tools package includes a sample of this file. See Configure environments.composer.jsoncomposer.lockmagento-vars.php.magento directory, then the script deletes the directory and its contents. Your local development environment is not affected.Application root directory
The location of the application root directory depends on the environment.
- Starter and Pro Integration:
/app - Starter Production:
/<project-ID> - Pro Staging:
/<project-ID>_stg - Pro Production:
/<project-ID>
Writable directories
The remote Integration, Staging, and Production environments are read only. The following directories are the only writable directories for security reasons:
varpub/staticpub/mediaapp/etc/tmp
/tmp directory that is not shared with the other nodes.Ignore files
There is a base .gitignore file with the Adobe Commerce on cloud infrastructure project repository. See the latest .gitignore file in the magento-cloud repository. To add a file that is in the .gitignore list, you can use the -f (force) option when staging a commit:
git add <path/filename> -f
Change base template
You can use the following steps to change the structure of an existing project to reflect the latest base template for Adobe Commerce on cloud infrastructure.
-
Clone the project to a local workstation.
-
Update the
composer.jsonfile with the following values for theextrasection.code language-json "extra": { "magento-force": true "magento-deploystrategy": "copy" } -
Add the
.gitignorefile designed for the base template. For example, if you need the.gitignorefile for the version 2.2.6 template, use the .gitignore for 2.2.6 file as a reference. -
Clear the git cache.
code language-bash git rm -r --cached . -
Add and commit changes.
code language-bash git add -A && git commit -m "Update base template"