I have set up a build of a node.js application on AWS. We create a dev environment, run tests against that. Then in the second stage, we build the production environment, if there was no failure in the first stage.
This takes a while, and I have come to realize that after the check out for the dev build, there is quite a bit of time for someone to save code before the production build starts, thus allowing untested code to get pushed to production. I thought that maybe I would not have to do a checkout for the second stage, that the checkout would still be there, but it failed on the first task, it couldn't find one of my scripts.
So I can make the second stage part of the first stage, that's easy enough - it's just going to have a lot of steps in it. But is there a way to not check the code out fresh? We are doing this on the cloud, and there is no way to specify revision number that I can see.