Make auto-deploy configurable on some level
brentc opened this issue · comments
I see this was discussed in #45, but as that is now closed and I don't see another issue open for this, I'll open one....
We maintain a separate branch with auto-deploy functionality explicitly removed because we want to control when our production environment is updated (semi-continunuous-deployment, if you will).
In testing some new functionality I'm working on for a PR, I forgot about that and was running heaven's master branch and whoops! Auto-deploy to production.
I would really appreciate some way to disable this functionality, or even better, change it to opt-in.
Right now you can do this via rails c
and setting the active
parameter for the repository to false. Then you'll get short-circuited on receiving webhooks.
Will setting active to false disable getting status updates from required context providers?
It basically says "yes, I know that I'm receiving deployment events but I'm not the responsible system for acting on them."
Hmmm, I think I was mistaking where the required_contexts
in apps.json
field from hubot-deploy was being processed. If I recall correctly, thats handled by hubot-deploy not heaven, so disabling webhooks won't interfere with that functionality.
But... if webhooks are being ignored, won't that short circuit the normal deployment notifications from being handled as well? Essentially disabling even non-auto initiated deploys, as they come in as a deploy event, and subsequent deploy status updates are also webhook events....
But... if webhooks are being ignored, won't that short circuit the normal deployment notifications from being handled as well? Essentially disabling even non-auto initiated deploys, as they come in as a deploy event, and subsequent deploy status updates are also webhook events....
Hrm, Yeah I think you're right. We should probably only be short-circuiting deployments not deployment_status as well.
You can also disable Status
events in your webhook configuration. That will disable any auto deployment behavior and you'll still be able to deploy normally through the Deployment
webhook events.
It's what I'm currently doing.
I'm not gonna be working on this project in the foreseeable future.