What is it?
Ship it is a system that accepts requests for releases from humans and translates them into information and requests that our Buildbot-based release automation can process. It consists of a web application/api and a backend script ("release runner") to do much of the actual work.
Where is it?
Release runner is deployed through Puppet on buildbot-master81. Supervisord manages the running process.
The web application depends on many Python packages. Most are included in a vendor library in the repository. Required binary packages are noted in its requirements list.
Release runner's dependencies are described in its puppet manifests.
The dev instance of Ship It automatically pulls the tip of the master branch of the git repository - no human intervention is needed to deploy to it. Stage and production deployment are handled through Chief, which let us push explicit revisions at will:
When deploying, you should enter your own name in the first field, the deployment password in the second, and the revision you want to push in the third. If you don't have the deployment passwords, ask someone for them.
Release runner's repository needs to be updated by hand to deploy a newly checked in version. Run the following on buildbot-master81 to do so:
cd /builds/releaserunner/tools hg pull && hg up