We are using a GitHub Actions workflow for our Continuous Integration (CI) pipeline and we’re about to make it a Continuous Delivery pipeline by automating deployment to our production environment via that same workflow. We’re pretty excited about it.
However we still have a slight sense of trepidation about automating deployments to live production environments so we’re looking for a way to quickly switch off deployments without requiring a commit should the need arise. In my head a way to do this would be to have the notion of an environment variable that is defined in the projects settings, probably at https://github.com/ourorg/ourrepo/settings/actions, which we can change as desired. Our workflow can be designed to only deploy to production if that env var is set to a certain value.
I’ve used GitLab in the past which had this notion of environment variables that could be set outside of the Workflow YAML file and hence why I think this could be a workable solution, but GitHub Actions has no such concept of env vars set outside of the Workflow.
I’m looking for ideas of how we could achieve similar. I basically want a way of quickly and easily shutting off all deployments to production, I’m using the “break glass” metaphor to describe this. Any ideas?