I currently have no clue how to solve following problem/usecase. Do you have an idea/approach I could try out?
I am using concourse to deploy systems via ansible - so I use git and ansible as main ressources. Currently I am only in the state of testing and I want to go the step further applying jobs to production.
My current use case would be:
- set up 2 pipelines: A) 1 for a Deployment on Test environment and B) 1 for a deployment on Production site.
- As we currently only have a semi-automated quality gate I have 2 conditions I’d realize to allow B) to be run: xa) pipeline A with same version Tag/commit is successfully run. xb) A Jira-Ticket with a special Trigger (in that ticket an engineer documents the successful manual tests) or a manual trigger in concourse (for certain users) is pressed.
For xb) I have a clue. Ignore this.
But for xa) I currently have no idea yet. Or, I have a little but I am not satisfied and before I manipulate you with my ideas I’d like you to simply ask: How would you solve it? How would you only allow a pipeline-job to start deploying only if A with a certain commit was deployed successful?
- B must not be triggered by A! Because:
- A is in continuous development. So B also must not only build on successful latest commit of infra-code A used. I need a factor (like version tag - meh now I manipulated you :P) that matches the constraint to B
- as of the second point and condition xb) B must not deployed on every successful build of A. Most Systems need a downtime - and we have to schedule downtimes and communicate to customers.
Links, Ideas etc. are welcome.