Running automated web tests against different environments


Lets say we have three repos web, api and e2e-tests and two environments dev and prod.

The e2e-tests contains some selenium tests to verify end-to-end (E2E) functionality. I’d like to run the E2E tests after a deploy to an environment. What’s the best way to have a build of either project web or api to trigger a build of e2e-tests test execution in the appropriate environment? This sort of thing is trivial in Teamcity/Jenkins but I’m wrapping my mind around how to do it here.


How do you plan to make a distinction between environments? I would say the standard way is to use Git tag prefixes, e.g. dev-v1, prod-v2 etc. Would that fit into your workflow? Certainly, CircleCI can use tag push triggers.


We currently use Gitflow with a dev and master branch which, on commit, build and deploy to the dev and prod environments.

Would that work? Could you explain a tag push trigger?


A tag trigger just does a build based on a Git tag matching a specification of your choosing. For example, I use deploy-{version}, where {version} is a version number of a system to deploy.

This demo project contains the above tag trigger. Have a look at the CircleCI config to see how it is done.