How to implement blue-green deployment with one master branch
It is worth separating your Continuous Integration "Build" from your Continuous Deployment "Pipeline".  For the build portion, CircleCI seems to be your tool of choice, for the latter I recommend using something like AWS CodeDeploy which natively supports Blue-Green Deployments, for completeness you can use CircleCI to orchestrate AWS CodeDeploy:



Separating your pipeline phases has several benefits:


You only need to compile/test once from the master branch; then promote the packages through the Artefact Repository.
Your packages are stored forever in an Artefact Repository, for example Sonartype Nexus or JFrog Artifactory, this means you can reproduce an old build as you have the specific packages used for deployment.
CodeDeploy will handle the release patterns for you without having to think too much about how to achieve Blue-Green Deployments.


It is also worth stating that you can model the whole pipeline in Application Release Automation tools such as BuildMaster or Nolio.  Personally, I prefer to build my pipelines from multiple 3rd party SaaS solutions.