Continuous deployment to acceptance environment
Olivier Van de Velde
Technical Authority and Scrum Master EBP Web Apps at Siemens Mobility
Continuous deployment is an evolution of continuous integration and therefore a building block of agile software development.
Test environments are expensive to maintain and often don't have proper external connections. Indeed external test systems are connected to the acceptance environment (ACC) for user acceptance testing (UAT).
Therefore ACC can be used for system integration testing (SIT) testing during the 3 first weeks of a monthly sprint while the last week is used for UAT testing.
One test environment (TEST3) is setup with continuous deployment from the develop branch : this means that as soon code is merged to that branch branch (after component integration testing on the TEST1 test environment), it is automatically deployed to TEST3 without user intervention.
ACC is setup with continuous deployment from the master branch during the first 3 weeks of the sprint.
The drawback is that the release process on ACC should incorporate a backup-restore-depersonalisation of the DB and a restore of the production application version (this is necessary as releasing in several steps is not the same as in one step).