My team often finds themselves in a scenario where we need to stop production on our manufacturing floor to deploy changes to a set of machines, each running device-agent.
It would be a big advantage of we could deploy a devops pipeline in a variety of ways, perhaps having the option to deploy in certain ways
0 - as-is
1 - scheduled for a certain time/date. If this existed, we'd like to be able to cancel a scheduled deployment. In this case, we could just schedule it for break time or end of day as to not disrupt production.
2- deploy on next restart. It just gives a little more control over a deployment, making sure a deployment doesn't interfere with a currently running flow. If restarts are scheduled, it is kinda like #1
3- deploy with end-user acknowledgment. Perhaps more tricky, but this is a strategy that we use with a different product by blue clover devices (Operation Guide — PLT Documentation). This forces the device-user to acknowledge and apply an update. There are big-advantages to this when deploying off-site and to suppliers where they may not be so happy to have an update pushed to hardware without awareness.