You are browsing a read-only backup copy of Wikitech. The primary site can be found at


From Wikitech-static
< Phabricator
Revision as of 22:23, 4 June 2022 by imported>Hashar
Jump to navigation Jump to search

Deployment windows

Except for emergencies, Phabricator deployments should be conducted during mw:Phabricator/Maintenance windows.

Initial setup

You'll need:

Tagging a release

On your development system

  • scripts for tagging and pushing
  • ./scripts/
    • tags all submodules
    • outputs markup for milestone (but this sometimes fails)
    • makes sure everything got pushed

On phab1001

  • /srv/phab
  • make sure it can pull
  • fetch all submodules on prod
  • ends at detached HEAD state
  • make sure tags are there
  • in mukunda's homedir on phab1001
    • puppet disable
    • stops phd
    • checks out the version
    • stops apache and php
    • /usr/local/sbin/phab_deploy_finalize does db migrations and stuff
  • In #wikimedia-operations connect: !log starting phabricator deploy, momentary downtime expected while Apache restarts
  • sudo ~/ and hope for best
  • systemctl status phd to make sure that's running
  • tail /var/log/phd/daemon.log to check for problems
    • always a lot of errors in here because of repo syncing, etc.
  • check /var/log/apache2/phabricator.log

Make milestone

  • Go into phab project and rename "next" milestone to the date of the deploy
    • i.e. 2020-02-13
    • paste generated markup with stuff from release
    • create a new "next" milestone
      • "This is for tasks ... next phabricator update"
    • mukunda's script used to do this automatically, may need some updating
    • archive the old one