Deploy your store

The process for deploying and going live begins with development, continues to Staging, and ends with going live in Production. To provide the best experience for developing, testing, and deploying your store with consistent configurations we provide an end-to-end environment solution. Every environment supports direct URL access to the store and Admin console and SSH access for CLI commands.

You can fully push, merge, and deploy through the Project Web Interface or CLI commands through a terminal application.

This section provides indepth instructions and information on the build and deploy process, migrating data and content, and testing.

Starter plan deployment

We recommend creating a Staging branch from the master to best support your Starter plan development and deployment. With this in place, you have two of your four active environments ready: master for Production and staging for Staging.

Now you are ready to develop and deploy:

  1. Create development branches from the staging branch. This allows you to merge up through Staging and Production.
  2. Develop on local: custom modules, Magento extensions, 3rd party integrations, and configurations.
  3. Push your local branch to the Git remote branch to test in a full environment.
  4. To fully test in a near-production level environment, push code to a Staging branch.
  5. Fully test in the Staging environment including payment gateways, shipping, price rules, various products, and full customer and admin interactions.
  6. Finally, deploy to the Production master to complete testing, go live steps, and start selling.

For detailed information of the process, see Starter Develop and Deploy Workflow.

Pro plan deployment

Pro comes with a large Integration environment with eight active branches and environments including master, Staging, and Production. When you create your project, code is ready to branch, develop, and push for building and deploying your site. Although the Integration environment can have many branches, Staging and Production have only one branch: the deployed Git master.

  1. Create development branches from the Integration master branch.
  2. Develop on local: custom modules, Magento extensions, 3rd party integrations, and configurations.
  3. Push your local branch to the Git remote branch to test in a full environment.
  4. Merge final code to the Integration master branch.
  5. To fully test in a near-production level environment, push code to the Staging environment.
  6. Fully test in the Staging environment including payment gateways, shipping, price rules, various products, and full customer and admin interactions.
  7. Finally, deploy to the Production environment to complete testing, go live steps, and start selling.

For detailed information of the process, see Pro Develop and Deploy Workflow.

Enter a ticket for deploying hooks

For technical reasons, you must enter a Support ticket to add your .magento.app.yaml file to Staging and Production environments. This affects all Pro projects created before and after October 23, 2017.

You can request that we push .magento.app.yaml, services.yaml, and routes.yaml, set up cron jobs, and enable Xdebug and PHPUnit, which assists you in troubleshooting coding issues encountered during deployment. Because of the memory requirements, we recommend you disable Xdebug before your site is live.

If you added your SSH keys to the Staging and Production environments, you can also directly SSH into the environment to use the Git CLI commands for deployments.

Optionally, you can replace the hooks section with a shell script that you can maintain without intervention. You need only to create a support ticket the first time you use the shell script.

Git and SSH URLs

For Pro, locate your Git and SSH URLs from the OneDrive onboarding document you received when you signed up for Magento Commerce.

After you know these URLs, you can access those environments without further intervention.

  • Use the URLs to access the store as a customer.
  • Use the URL /admin to access the Admin panel.
  • (Pro) Use SSH access and Git CLI commands to deploy updated code to Staging or Production. Magento Cloud CLI commands are not available in Staging and Production.

For more information, see SSH and sFTP.

Read-only environments

You should always deploy code by pushing your local Git branch to your environments. You should only directly modify configurations for a few key extensions directly in your Staging and Production environments through the Magento Admin or using environment variables.

Always update your code in a branch on your local environment, push to Git, and complete the full deployment when you need to do the following:

  • Add extensions
  • Add 3rd party integrations
  • Fix issues and check errors

Next steps

To learn more, check the following: