Technologies and requirements
This topic describes technologies, knowledge, accounts, and steps to complete when working with your Magento Commerce Cloud code, environments, and store(s) and site(s). If you are not experienced with a technology, we provide additional links and information to get you started.
Technologies
The following technologies are requirements for developing and deploying your store code:
- Git
- Composer
- Magento 2
- Continuous Integration
- Architectures including Starter or Pro architecture
Here are some advanced technologies we recommend getting familiar with:
- Fastly for CDN and caching (based on Varnish)
- New Relic for performance testing
- GitHub if you need a Git repo
- Bitbucket if you need a Git repo
- GitLab if you need a Git repo
Magento Commerce Cloud does not support the split database performance solution at this time.
What is Git
Git is the heart of all your code in repositories. It acts as a version control system through branches from a parent. Multiple developers can work together in personal branches all merging into the same parent. You can also work on features at the same time in multiple branches.
We hope you have a good working knowledge of Git. Need some help? Don’t worry, we have you covered with some of our favorite links and information. We’ll also include a Git guide to branching and developing soon.
- Git documentation and videos from the makers of Git
- Git cheatsheet and quick guide from Roger Dudler
- Git video with DevForge to understand how people use the repo and commands with a fun story
To get started with Git, you should have Git installed on your local.
In addition to Git requirements for valid branch names, Magento Commerce adds two additional requirements:
The /
character is not allowed. Branch names must be case-insensitively unique. In other words, if you have a branch named CaSe
, you cannot create another branch named case
.
You must use Secure Shell (SSH) and not HTTPS to connect to the Git repository. We walk you through the process of setting this up with your local.
Supported software versions
Magento Commerce Cloud uses:
- Operating system: Debian GNU/Linux
- Web server: nginx
You cannot upgrade the software, but you can configure the following services:
See the Magento Commerce Cloud service versions information for the latest software version requirements.
For Staging and Production environments, you use the Fastly CDN module for Magento 2 for CDN and caching services. See Configure Fastly services.
For information about configuring the software versions to use in your implementation, see the following Magento Commerce Cloud configuration files:
Requirements to get started
To get started as a developer in a Magento Commerce Cloud project, you need to set up the following:
-
Get
repo.magento.com
credentials in your account. -
Get a project invitation from the Account Owner or a super user.
-
Set up a local Docker development environment.
Magento Commerce Cloud environments are Read Only, including all Starter environments and all Pro Integration, Staging, and Production environments. In a local development environment, you can write and test code prior to pushing it to an Integration environment for further testing, followed by deployment to Staging and Production.
In the local development environment, you develop in branches to add modules, extensions, third-party integrations, and configurations. We recommend reading over develop and deploy process for your Starter or Pro plan.
Magento configurations
Before you test any custom code in your local Magento Commerce environment, you must do all of the following:
-
For Pro, set the database
auto_increment_increment
to 3 when you generate the Docker configuration file -
Test with the correct file permissions in Production mode
Correct permissions only allow write access to
var
,pub/static, pub/media
, andapp/etc
-
Test with minification for HTML, JavaScript, and CSS enabled. See Static content deployment strategies
Magento Commerce Cloud supports Magento production and maintenance modes only.
Development and testing
For development and testing, we recommend the following:
-
Test your site in an Integration (development) and Staging (near-production) environment as you complete modifications
You can enable and test individual features, new extensions, and third-party integration on different environments prior to merging into a single environment.
-
Verify
magento setup:install
andmagento setup:upgrade
commands work during the build and deploy process and that any extensions and customizations compile correctly in Production modeYou can set an environment variable or enter a CLI command for this specific mode.
- Fully test your site in Staging as a merchant and customer prior to Production deployment
- Set up Fastly and verify that the Fastly VCL is uploaded
- Send a ticket with all storefront domains when going live (to be added to the shared SSL (HTTPS) certificate)
- For custom deploy hooks in Integration, open a Support ticket to have them added to the Staging and Production deployment process
License and authentication requirements
When you purchase a Magento Commerce Cloud subscription, Magento creates an account for the License Owner and sends an invitation to the License Owner email address with account verification and login instructions. The License Owner has the Account owner role with permission to create user accounts and assign roles for technical staff, consultants, and Magento partners involved in the code and production of the stores to the project.
To work with and deploy stores, you need the following:
- A Magento Commerce Cloud account already created or created via an invitation
- Project invitation for contributing developers from the Account Owner or a super user
- Magento authentication keys for each user who contributes to the project
Your Magento Commerce account must authenticate using any of the following:
- GitHub
- Bitbucket
- Create your own Cloud account