Hi Kolos
 

> If you make your blue environment active and then straight away you deploy 
> to the green one, are you not losing your ability to revert if something 
> goes wrong? With blue-green deployments, switching environments is the way 
> to revert. 
>

This is a good point.  However it doesn't really change the core issue for 
me which is wanting an auto-invoked pipeline to:

1) start running
2) determine that it needs to wait for an external trigger, 
3) *passively wait (i.e. yield control back to GoCD)*
4) be re-triggered to complete sometime later


Step number 3 would allow much richer integration with external tools.
 

> The way I'd imagine it is that you simply always deploy into the inactive 
> environment and then once you're sufficiently happy with the inactive 
> deployment (could be automated or manual), you switch the active 
> environment over. This way you don't even need to have "blue" or "green" 
> pipelines/stages. You just work with the inactive one. You could read that 
> info from your load-balancer for CM tool. 
>

Sure -- you could do this with goCD via three pipelines - "deploy to 
inactive", "flip", and "deploy to inactive" again. I don't particularly 
like this strategy.  "Flip" could be invoked outside of GoCD, which could 
result in the second "deploy to inactive" deploying to the same color nodes 
a second time. It would be risky to create downstream pipelines that use 
fan-in to trigger only once blue are both deployed.  

That said, I guess that could be addressed with a recipe like this:

1) The first "deploy to inactive" pipeline creates an artifact 
*deploy_target *and just writes the color it deploys to (i.e. either *blue *or 
*green*).
2) The second "deploy to inactive" pipeline fetches *deploy_target *from 
the first and compares it to the current inactive color. If they match then 
the second pipeline reports error and fails the stage.  It only succeeds if 
it is going to deploy to the *other *color.

This isn't quite as clean as separate *DeployToBlue *and *DeployToGreen 
*pipelines 
but at least you'd have confidence that code had been deployed to both blue 
and green. 


Thanks!
Jason



-- 
You received this message because you are subscribed to the Google Groups 
"go-cd" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to