Hey guys, quick question on how you are doing bran...
# general
e
Hey guys, quick question on how you are doing branching with dev, stage, and prod. I get you can setup branch mapping using ci.json, that's fine and makes sense. But first question, how are you promoting your builds into production? Are you using Releases to trigger that? That was what I was going to do...Secondly, how are you handling developer stacks? Do you host those in cloud or on dev machines? How are you handling those stacks in Pulumi? A stack per a dev?
c
Hey Eric! There isn’t a one-size fits all, since your team may want to manage things different. But here’s how we manage things internally at Pulumi: - We map
master
to a test instance, and have special
staging
and
production
branches that deploy those environments as well. So “promoting builds to production” is just a matter of creating and merging a GitHub pull request. - We aren’t using GitHub’s Release features to tag builds, but instead create a separate release branch off of master. (This makes it easier to cherry-pick a patch or something if necessary, but it’s also kind of a pain.) - As far as cloud vs. dev machines, we put everything on app.pulumi.com. That makes it much easier to track resources and identify/reclaim stale stacks, etc. Developers update their dev stacks via script on their own machines, and aren’t hooked up to the automated CI/CD pipeline. (And each dev has their own dev-instances of stacks as desired.) Does that answer your questions? Happy to expand upon anything if it helps.
e
Yes thats similar to other workflows I have setup in the past. Are you using Kubernetes? I would be curious if your using minikube or how you are doing that on local dev machines with Pulumi.