Scap/Release

From Wikitech
(Redirected from How to deploy code/Scap)

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 beta

Follow the steps in the beta section of RELEASE.md . Please note you will require sudo privileges in the mentioned hosts.

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 a scap 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)