E-Comm Domains Build and Release Automation
Goal state:
PR-specific builds which run linter, unit tests, automated test suite.
A passing build will be a requirement for merge (can be blocked with Bitbucket Premium)
Automatic builds and deployment to dev/test environment.
Push-button deployment to integration, staging and production.
Consolidated, easy-to-view, and easy-to-manage build and deployment pipelines
Definitions for pipelines live in the code
Current state:
Magento 2:
Epic Branch creates Feature Branches
Feature Branches are built on the ‘dev’ server automagically
The advantage here which usage is tbd, is that local devs have their own ‘environment’ hosted for testing
Generally feature branches get merged into an Epic Branch, which is auto built on the ‘dev’ server
QA testing takes place on this epic branch on the dev server before moving up in environments
Once epic work is complete and scheduled for release, epic branch is then merged into integration, then staging, then production
Currently no testing or usage is taking place in commerce cloud integration or staging environment, afaik
All Magento Cloud deploys are manually run by pushing to the Magento Cloud repository version of the same branches defined in Bitbucket (Integration, Staging, and Production)
Craft:
All Deployments are manually triggered using a bash script on the servers
Feature branches are merged to integration on its own Azure vm.
This is the ‘qa-www’ server
QA testing takes place here before moving up environments
Integration is then merged to staging, and finally production for the release