Tyler, thanks for the process document, very helpful:

Here is another type of release challenge:
Database table alteration is a whole additional minefield I am dealing with.  Preservation of existing data and migration of existing data into the added fields, dealing with 3 database engines, ensuring existing code can function pre and post alteration if needed and ensuring that a feature needing the table alteration is released in phases. Tack on doing this as an extension not core code. Interesting dependencies are how 3rd party deployments will be affected, how replicated databases are affected, how to test the non manually updated table alteration scripts and the one time executing data migration code and how the UI will work during the various release phases. Security risks need assessment, performance of the new code needs assessment, adding appropriate indexes to reduce database load of new queries needs assessment.
I think I am close to having figured out the path and consulted with Sam and Manuel, and others have chimed in such as Alex and Subbu.
Best,
Shannon

On Mon, Sep 27, 2021 at 3:25 PM Tyler Cipriani <tcipriani@wikimedia.org> wrote:
Last week, I spoke to a few of my Wikimedia Foundation colleagues about how we deploy code—I completely botched it.

At the end of the conversation, I was pretty sure I'd only succeeded  in making a complex process more opaque. I decided to write a blog to redeem myself: How We Deploy Code

My goal was to write a very high-level overview of the process we use to deploy code to Wikimedia production.

Hopefully, this is helpful.

<3
– Tyler Cipriani (he/him)
Engineering Manager, Release Engineering
Wikimedia Foundation
_______________________________________________
Wikitech-l mailing list -- wikitech-l@lists.wikimedia.org
To unsubscribe send an email to wikitech-l-leave@lists.wikimedia.org
https://lists.wikimedia.org/postorius/lists/wikitech-l.lists.wikimedia.org/