MozillaWiki:Policies/Deployment workflow
All code for MozillaWiki is stored in our git repo: https://github.com/mozilla/wiki.mozilla.org
Server Instances
All wiki data is periodically ported from Production to Stage, Dev and Sandbox. You are welcome to try things out on these other wiki instances. Your same login should work unless your account is newly created. In that case, visit #wiki to request an account. Note: At any time your edits to Stage, Dev, or Sandbox may be over written.
Git Branches
We have two branches:
- master – dev
- production – stage → prod
After changes are tested via the master branch on our dev server, they are merged into the production branch. This branch is deployed to stage, checked and if all is well, it is deployed to production.
Repository layout
Our github repository is organized as follows:
├── assets ├── core ├── extensions ├── .git ├── tools ├── composer.json ├── composer.lock ├── env_secrets.php ├── .gitignore ├── .gitmodules ├── htaccess ├── LICENSE ├── LocalSettings.php ├── README.md └── secrets.php-dist
- assets: fonts, logos and favicons
- core: this is the core mediawiki software, managed as a git submodule
- extensions: all utilized extensions are included here, managed either by git as submodules or by composer
- tools: this directory includes install and update scripts, an embedded composer binary and sample apache conf files
- composer.json: required for composer package manager
- composer.lock: required for composer package manager
- env_secrets.php: small php scripts that sets variables used by secrets.php via environmental vars
- LocalSettings:php: mediawiki's LocalSettings file, will be symlinked to from core directory
- secrets.php-dist: example of secrets.php file that needs to be created for each deployment (and is ignored by git)
Use of git submodules
Deployment Workflow
All changes should be made via a local checkout of a personal fork of https://github.com/mozilla/wiki.mozilla.org. Once these changes have been submitted as a pull request and accepted, they are ready for deployment.