Adobe Commerce Cloud Project Structure

Adobe Commerce Cloud Architecture

In Today’s Blog, We will understand Adobe Commerce Cloud Project Structure. We will also look at some important cloud files used for credentials and application configuration.

Adobe Commerce or Magento Cloud is an automated hosting platform with a self-service approach to building, deploying, and managing your Commerce application.

Adobe Commerce uses AWS to host Commerce projects and is built on the Platform.sh which makes it easy to manage code, environment, and accelerated deployment.

It includes all code in Git branches, associated environments, and scripts to deploy the Commerce application. Environments contain services to support the Commerce application, including a database, web server, and caching server.

Adobe provides a Cloud Console and developer tools to manage all aspects of your project.

Adobe Commerce Cloud Repository

If you take a look at the Adobe Commerce Cloud GitHub repository you will find out below files that allow you to control its behavior.

FileDescription
/appThis place is used for your custom modules, custom themes and configuration files for the application.
/m2-hotfixesThis folder is used to store custom patches which are automatically applied in the build phase using the ece-tools build command. (Read more..)
.gitignoreThis file specifies which files and directories need to be ignored in git tracking.
/.magento/routes.yamlDefines the routes of the project.
Each route describes how an incoming URL is going to be processed.
(See Reference)
/.magento/services.yamlWe can manage versions of applications like MySQL instance (MariaDB), Redis, and OpenSearch or Elasticsearch
.magento.app.yamlThe .magento.app.yaml file controls the way that your application builds and deploys. (Reference Link)
.magento.env.yamlThe .magento.env.yaml file uses environment variables to centralize the management of build and deploy actions across all of your environments, including Pro Staging and Production. (Reference Link)
composer.jsonThis file is used to manage product installations and upgrades.
composer.lockThis file stores a set of exact version dependencies that satisfy the version constraints of every requirement for every package in the dependency tree of the project
magento-vars.phpLike configuring an NGINX virtual host, we can configure Multiple websites or stores by passing the MAGE_RUN_CODE and MAGE_RUN_TYPE variables. (See Reference)
op-exclude.txtUsed to exclude files for OPcache configuration.
php.iniThis is a project-specific configuration file containing your web server’s PHP settings.

As mentioned above files, let’s closely look at some mainly important files and understand the purpose of each file.