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.
On Mon, Sep 27, 2021 at 3:25 PM Tyler Cipriani <tcipriani(a)wikimedia.org>
Last week, I spoke to a few of my Wikimedia Foundation
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.
– Tyler Cipriani (he/him)
Engineering Manager, Release Engineering
Wikitech-l mailing list -- wikitech-l(a)lists.wikimedia.org
To unsubscribe send an email to wikitech-l-leave(a)lists.wikimedia.org