MozillaWiki:Policies/Deployment workflow

< MozillaWiki:Policies
Revision as of 19:46, 12 February 2015 by Ckoehler (talk | contribs) (added repository layout content)

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:

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.

Deploying for the first time

Deploying changes to super project only

Deploying changes to submodule(s), commit hash only

Deploying submodule additions, removals, or settings changes