Continuous Deployment Process

City of Boston strives to automate the develop, test, package and deploy process at each step from local development to deployment in live production,

This page is out of date and needs review (as at 17 June 2021)

Local Build

Clean development environment.

The repository is cloned in a local folder and ready for building.

This entry condition can be achieved:

  1. If you have not yet built the boston.gov website on your local machine, or

  2. If you have cloned a new branch or created a new branch that you wish to build, you can run the doit rebuild quick script, or

  3. If you have the repository cloned, but wish to delete it and rebuild a fresh website from a branch on the GitHub repository, you can run doit rebuild full <branch>. If you don't specify a branch, then develop will be used.

Local developer responsible for creating local development environment.

Local Development

Repository Code and appropriate database in docker containers on local machine, ready for local development.

Local developer responsible for verifying local development environment and verifying build and establishing the correct code start-point for development.

Deploy to Develop (includes automated testing)

Pull Request in GitHub which is ready to merge into develop branch on GitHub.

The merge will (re)Run an automated build and testing process, and if successful deploy the develop branch to the Acquia develop environment.

Development team responsible for ready decision.

Deploy to Staging (includes automated testing)

Code base in GitHub develop branch is ready for deployment to Acquia Staging environment.

Development team responsible for ready decision.

QA

GitHub master branch code and copy of production DB is on Acquia Staging environment.

Development team responsible for ready decision.

Deploy to Production

Code base in GitHub master branch is ready for production deploy to Acquia production environment.

QA team responsible for ready decision

Change Management must be advised of intent to deploy prior to deploy.

Last updated