Big News!  Tilt is joining Docker

New in Tilt: Fine-Tune How Your Services Get Updated

“Wait, so Tilt updates every single time I save my code?”

You might like the premise that Tilt keeps your development cluster updated as you work. But maybe the whole update-on-each-save thing isn’t always great for your particular workflow. What if some change you’re not quite ready to deploy puts your development database into an inconsistent state? What if you’d rather not see errors and warnings on some service that you know is busted because it’s still work in progress? What if super-frequent updates for certain services just seem kind of…expensive?

In the latest version of Tilt, you can control just how updates get triggered for each of your services. You can set any resource’s Trigger Mode to Manual by editing the Tiltfile. As an example, let’s rein in updates on our handy Snack Generator:

k8s_resource('snack', trigger_mode=TRIGGER_MODE_MANUAL)

Then, you’ll see that “snack” looks different from its neighbors on the sidebar:

The Update icon becomes active once you make edits in the “snack” serviceThe Update icon becomes active once you make edits in the “snack” service

Then when you’re ready, hit the Update button and Tilt will do its thing. (Oops, looks like we have a syntax error here!):

After you’ve edited a service, hit the Update icon to trigger an updateAfter you’ve edited a service, hit the Update icon to trigger an update

Check it out for yourself in Tilt v0.9.0, and see more details in the docs. Does this make Tilt better suited for your workflow? And if you’re wondering where we’re headed next, the Manual Update Control spec describes some of the paths we considered but haven’t tried yet.

We’d love to hear your thoughts, so please get in touch!


Originally posted on the Windmill Engineering blog on Medium

Related

Already have a Dockerfile and a Kubernetes config?

You’ll be able to setup Tilt in no time and start getting things done. Check out the docs! 

Having trouble developing your servers in Kubernetes?