You are browsing a read-only backup copy of Wikitech. The live site can be found at wikitech.wikimedia.org
Scap/Release: Difference between revisions
imported>Elukey |
imported>Jaime Nuche (Edited for clarity) |
||
Line 2: | Line 2: | ||
=== Building === | === Building === | ||
To prepare a new release | To prepare a new release for Scap, the Release Engineering Team needs to follow the steps in [https://gerrit.wikimedia.org/r/plugins/gitiles/mediawiki/tools/scap/+/master/RELEASE.md RELEASE.md] (in the Scap git repository) | ||
===Roll out to production=== | |||
Performed by a member of the Release Engineering Team: | |||
*Make sure you select a time window where no deployments are happening | |||
*On the main deployment server ('''deploy1002.eqiad.wmnet''' at the time of writing), run '''<code>scap install-world</code>'''. This will select for installation the latest available version tag from the git repo and prompt you for confirmation. | |||
*Log into '''<code>mwdebug*</code>''' servers and check there if a '''<code>scap pull</code>''' still works | |||
* Check if scap still works for the scap3 code path, and on stretch. You will need to run a test deployment to test environment. Run the following from the main deployment server:<syntaxhighlight lang="bash"> | |||
* | |||
*Check if scap still works for the scap3 code path, and on stretch. You will need to run a test deployment to test environment. Run the following | |||
cd /srv/deployment/restbase/deploy/; scap deploy --environment dev-cluster | cd /srv/deployment/restbase/deploy/; scap deploy --environment dev-cluster | ||
... | ... | ||
Line 56: | Line 16: | ||
Rollback all deployed groups? [Y/n]: Y | Rollback all deployed groups? [Y/n]: Y | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== | ===Rollback=== | ||
In case a rollback is necessary, it is possible to pass a previous version tag to the install command. For example: '''<code>scap install-world --version 4.9.3</code>''' | |||
===Target host bootstrapping=== | |||
Hosts added to the list of targets should be automatically primed with the latest deployed scap version. But if the automated process failed for a host for whatever reason, it is possible to trigger it manually from the main deployment server with: '''<code>scap install-world --batch</code>''' This will ensure all hosts are in sync with the version staged in the deployment server (i.e. the last deployed scap version) |
Revision as of 15:08, 15 June 2022
This page is documentation for releasing a new version of Scap to Wikimedia Production.
Building
To prepare a new release for Scap, the Release Engineering Team needs to follow the steps in RELEASE.md (in the Scap git repository)
Roll out to production
Performed by a member of the Release Engineering Team:
- Make sure you select a time window where no deployments are happening
- On the main deployment server (deploy1002.eqiad.wmnet at the time of writing), run
scap install-world
. This will select for installation the latest available version tag from the git repo and prompt you for confirmation. - Log into
mwdebug*
servers and check there if ascap pull
still works - Check if scap still works for the scap3 code path, and on stretch. You will need to run a test deployment to test environment. Run the following from the main deployment server:
cd /srv/deployment/restbase/deploy/; scap deploy --environment dev-cluster ... canary deploy successful. Continue? [y]es/[n]o/[c]ontinue all groups: n Rollback all deployed groups? [Y/n]: Y
Rollback
In case a rollback is necessary, it is possible to pass a previous version tag to the install command. For example: scap install-world --version 4.9.3
Target host bootstrapping
Hosts added to the list of targets should be automatically primed with the latest deployed scap version. But if the automated process failed for a host for whatever reason, it is possible to trigger it manually from the main deployment server with: scap install-world --batch
This will ensure all hosts are in sync with the version staged in the deployment server (i.e. the last deployed scap version)