We have a service and a shared database, both of which are stored in separate git repositories and have their own build chains.
When we make a change to the database repository we want to re-run the service tests, but using the version of the code which is currently deployed in the environment and not re-run the full chain.
This setup works for the first set of the acceptance test, but not for the integration tests (as shown in the diagram). Those always want to re-deploy to the integration environment first, which is what we want to avoid
This is a screen shot of our build chain just after TeamCity has detected a change in the database repository, You can see that the service / code part of the chain has pickup up a previous build of "Deploy to Acceptance" that is suitable. But the code version "Deploy in Integration" is added to the queue
(Click on image or Open image in new tab to view it full sized)
Is this the correct way to have our dependencies setup?