Forum Discussion

CarolineS's avatar
6 years ago

How do you manage publish-to-prod releases?

Hi ya'll!

Looking for some words of wisdom / advice about how to manage publish-to-prod on the Lithium platform. I find it challenging that some configuration-y things (e.g. badge images) are in staging, as are development-y things (css changes, new components, etc). Tonight I needed to launch a new badge, but there's also some CSS that's acting a bit wonky... and I needed to pick the lesser of 2 evils (not having the badge ready on time vs having a couple pages on the community have awkward spacing - I picked getting the badge out the door, in case you wanted to know 🙂). 

I'm curious about how others handle this. Do you release on a set cadence, and ONLY on a set cadence? More ad-hoc? Clever tricks for releasing only exactly the changes you want to release?

Cheers!

- Caroline

P.S. Along that note - it seems like Alteryx really has their act together in this regard. See their release notes, which BrianOblinger just posted about on Twitter (https😕/twitter.com/brianoblinger/status/1105127406208049157 - which links to: https😕/community.alteryx.com/t5/Getting-Started-Resources/Community-Version-History/ta-p/178541)

6 Replies

  • P.P.S - I find I can't edit my own posts here. This makes me a little sad. But now I don't even remember what the edit was that I was going to make, so I guess it's all good.  🤷‍♀️

  • Alteryx does have their act together, if I do say so myself 🙂 Check out our latest release blog.

    We treat community as if it were a product - we run on 6-week dev cycles and iterate/improve/fix with each cycle. We typically have stage "freezes" where no further dev work is allowed as well. This helps with not adding anything unnecessary before deployment day. There may be some mini-releases we do out of cycle, but for the most part, we stay on schedule.

    EDIT - CarolineS - to edit your post, you should be able to find the ability in the 3 vertical dots in the upper right corner of your post. Do you not see that?

  • CarolineS's avatar
    CarolineS
    Boss
    6 years ago

    Thanks JeffSt! I do like the idea of release cycles and having rigor around the process. 

    And, I swear, last night I didn't see "edit" under the three dots. Maybe I was just tired. Or maybe someone changed my permissions overnight 😛. You know, probably I was clicking on the way-upper-right three dots that apply to the whole thread, rather than the ones that apply to my post. Anyway. 

  • StanGromer's avatar
    StanGromer
    Boss
    6 years ago

    While there is an additional cost towards it, Lithium also does offer the ability to have a third dev instance. 

    Generally speaking - Primary development especially on larger products is all done in our dev instance, and the code would then move to stage solely for testing and push to production. This allows our developers to essentially have their own playground, while allowing our core Community team to publish throughout the day without any concerns.

  • CarolineS's avatar
    CarolineS
    Boss
    6 years ago

    StanGromer - RIGHT! I remember hearing that a third instance, "dev",  was an option way back when, but I had forgotten. This would be very useful for us; I'll look into the cost with my account manager!

  • cike's avatar
    cike
    Champion
    6 years ago

    StanGromer  - That's a nice one. 🙂 Do your developers work with the SDK? If so, how do you handle the different settings you need to make between multiple instances?

    CarolineS  - For one of our customers we're using Git and a granular branching model to keep track of different development states. We established a few rules how releases and features will be developed and merged into each other.

    We're also using an "integration branch" where we merge all release states, so the staging environment is always set up with the current development states of multiple releases.

    With these we ensure that all our release branches only contain changes for the particular release. Before a production release we prepare stage with the current production source code and all releases to be published. 

    Finally we freeze stage until Push2Prod is done.

     

    Best regards,

    Christian