atmos / heaven

:walking: Rails app for GitHub Flow

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.