Phabricator/UpgradeProcess: Difference between revisions

Updated to eliminate stage from the process
(add deployment bugs)
(Updated to eliminate stage from the process)
Line 4: Line 4:


== Process ==
== Process ==
We use two Phabricator clusters: dev and prod.  Our dev instance is used essentially as a staging server, that is, releases are deployed to dev for QA to verify before being deployed to prod.


1. Approximately every two weeks, the team picks someone to handle the next upgrade.  This role should rotate among the team.  We'll call this person the "upgrade mechanic".  File a tracking bug filed under Conduit :: Infrastructure with the summary "Upgrade Phabricator to week {WEEK}", where {WEEK} is taken from the [https://secure.phabricator.com/w/changelog/ Phabricator Changelog], e.g. "2018 Week 6".
1. Approximately every two weeks, the team picks someone to handle the next upgrade.  This role should rotate among the team.  We'll call this person the "upgrade mechanic".  File a tracking bug filed under Conduit :: Infrastructure with the summary "Upgrade Phabricator to week {WEEK}", where {WEEK} is taken from the [https://secure.phabricator.com/w/changelog/ Phabricator Changelog], e.g. "2018 Week 6".
Line 52: Line 54:
{HASH} should be replaced by the new hash of the phabext container, which will be at https://hub.docker.com/r/mozilla/phabext/tags/.
{HASH} should be replaced by the new hash of the phabext container, which will be at https://hub.docker.com/r/mozilla/phabext/tags/.


8. On the following Tuesday, operations will deploy to dev.  The upgrade mechanic should do the same simple smoke test on the dev system.  The mechanic should then file a stage deployment bug.  Use the same location and template as in step 7, replacing "dev" with "stage" in the summary.
8. On the following Tuesday, operations will deploy to dev.  The upgrade mechanic should do the same simple smoke test on the dev system.


9. On Wednesday (possibly the next week if there were bugs), operations deploys to stage.  The mechanic should set a needinfo flag to the QA person (e.g. chartjes) on the tracking bug filed in step 1 indicating that the deployment is ready to test. ''At this time there are issues with stage caused by BMO stage being behind a VPN.  We will use dev for QA's testing until this problem is solved.''
9. The upgrade mechanic should set a needinfo flag to the QA person (e.g. chartjes) on the tracking bug filed in step 1 indicating that the dev deployment is ready to test.


10. QA runs the bigger [[Phabricator/TestPlan|test plan]] against stage (''dev for now'').  Results should be posted in the tracking bug, clearing the needinfo.
10. QA runs the bigger [[Phabricator/TestPlan|test plan]] against dev.  Results should be posted in the tracking bug, clearing the needinfo.


11. If the tests passed, the mechanic should file a prod deployment bug, again as in step 7 but with "prod" in the summary.  Otherwise go to step 4.
11. If the tests passed, the mechanic should file a prod deployment bug, as in step 7 but with "prod" in the summary.  Otherwise go to step 4.


12. When prod is deployed, resolve the tracking bug as FIXED.
12. When prod is deployed, resolve the tracking bug as FIXED.
Confirmed users
1,927

edits