You are browsing a read-only backup copy of Wikitech. The live site can be found at wikitech.wikimedia.org

Scap/Release

From Wikitech-static
< Scap(Redirected from How to deploy code/Scap)
Jump to navigation Jump to search

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