This solution includes a pipeline configuration to setup a Continuous Integration pipeline on CircleCI.
The jobs provided are the following:
- build docker images
- run tests
- automatically deploy to staging
- automatically deploy to QA env in case of feature branches
- manual approval for production deployment
Here the resulting CI pipeline for the
It is visible that there is a "build" job, a "tests" job and a "deploy to staging" job. There is also a "deploy to production" job, if approved, will deploy the application to production.
Here the resulting CI pipeline for a feature branch:
It is visible that there is a "build" job, a "tests" job and a "deploy to QA" job if approved, will deploy the application to a review environment. Thee is also a "delete QA" job that allows to remove a not needed anymore QA environment.
Here a preview of the directory structure:
. ├── app │ └── index.php ├── composer.json ├── composer.lock ├── docker-compose.yml ├── dockerfiles │ └── app │ └── Dockerfile ├── k8s │ └── app.yml ├── vendor └── README.md