Wikimedia Labs/Specifications
This page is obsolete. It is being retained for archival purposes. It may document extensions or features that are obsolete and/or no longer supported. Do not rely on the information here being up-to-date. This page covered some plans in 2012/2013. |
Automated updating of beta / alpha cluster on labs[edit]
Quick intro to wiki farms[edit]
A wiki farm can be accomplished in many different ways. The way it is done in the WMF production cluster and the way it is done on labs is as follows: There is a central checkout of the mediawiki core repository with additional checkouts for one or more extensions. The LocalSettings.php file uses a SiteConfiguration
object ($wgConf
) to configure settings for individual wikis (this is in the form of a big array, usually included from a separate file (e.g. InitializeSettings)). All (sub)domains point to the same webserver (or rather one of many web servers that are kept in sync) where it is detected based on hostname and path which for which wiki the settings are to be initialized. Then to provide universal login, CentralAuth is used.
Plan[edit]
- Maintain two virtual wiki farm projects on WMFLabs: mw-alpha and mw-beta
- mw-alpha: A small wiki farm running on the
master
branch ofmediawiki/core.git
at*.mw-alpha.wmflabs.org
. It is deployed to through Jenkins. Whenever Jenkins completes a unit test run of themaster
branch where all tests pass (job "MediaWiki-unittest-master" @ Continuous integration) it will access the central server for the mw-alpha project on Wikimedia Labs, perform a repository pull, run the updater, and then sync it to the web servers. - mw-beta: Similar to the above, except it runs on the latest release branch, at
*.mw-beta.wmflabs.org
. Updated by Jenkins based on the results of job "MediaWiki-unittest-REL1_19" (or whatever the latest release branch is at the time).
- mw-alpha: A small wiki farm running on the
Dependencies[edit]
- Finishing puppetization of the production cluster to make beta.wmflabs complete