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)
- Blackfire Profiler for performance testing
- New Relic for performance testing
- GitHub if you need a Git repo
- Bitbucket 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, install Git on your local workstation.
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 namedcase
.
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 8 (jessie)
- Web server: nginx 1.8
You cannot upgrade the software, but you can configure the following services:
See Magento 2.1.x technology stack requirements for the latest software version compatibility information.
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:
- Set up a local development environment. Your local workspace works best as a virtual system (VM or container) with all prerequisites installed and the project
master
Git branch cloned. You’ll develop in branches to add modules, extensions, 3rd party integrations, and configurations. We recommend reading over develop and deploy process for your Starter or Pro plan. - Get
repo.magento.com
credentials in your account. - Get a project invitation from the Project Owner or a super user.
We walk you through everything you need to do and know.
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 -
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
- Test with Redis enabled for page cache and session cache
- Install and configure Fastly
- Test using Varnish for the page cache
Magento Commerce Cloud supports 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 3rd 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
- Verify the Fastly VCL is uploaded to Fastly
- 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
- Profile key flows and customizations using Blackfire.io
License and authentication requirements
The Account Owner creates the initial Magento Commerce Cloud account with a purchased subscription. This owner should invite all technical staff, consultants, and Magento partners involved in the code and production of the stores to the project. The invitation provides access to the Git code, environments, and ticketing for the project.
To work with and deploy stores, you need the following:
- 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