3 ms·
Pretty proud to say that at Buffer it's a few minutes. We've written a CLI that sets up team members including getting them a new SSH key to use with github. If
by nstart 9y ago
Pretty proud to say that at Buffer it's a few minutes. We've written a CLI that sets up team members including getting them a new SSH key to use with github. If you are running the install fresh, you simply use ./dev setup. If you are running some services for the day, ./dev up.
This CLI wraps around docker-compose and does some gnarly stuff using Bash.
We now have multiple services and products and at any given time, a team member could be working on any one of them. So to avoid burning people's computers out we even have the ability to spin up only a subset of services specified.
So ./dev up account session-service <product-name> will get you all the required stuff to work on the product you want to work on for example. This involves a surprising amount of work such as re-configuring config files for our reverseproxy and deciding which repos to actually pull updates for.
We found that with dev environments, it's not just setting up. It's also the continued running of things. Architectures change. Dependencies change. Each of these can break people's dev environments and we try to use the tool to contain as much as possible. We are currently adding some functionality in to diagnose and auto resolve errors such as services not starting up due to node dependencies not being installed for example.
This area excites me a lot, so if you want to chat about it, my email is in my user profile :) . Happy to share the work we've done.