: Etherpad users! We are developing an extension that will allow you to create pages from etherpads quickly and easily. Please visit our sandbox and help us test it.

ReleaseEngineering/Applications/Ship It

From MozillaWiki
Jump to: navigation, search

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.

Source code for the web application lives on git.mozilla.org. Release runner is part of the build/tools repository.

Where is it?

The web application is deployed on IT's generic web cluster. There are dev, stage, and production instances of it. More in-depth, IT-oriented, information is available on mana.

Release runner is deployed through Puppet on buildbot-master81. Supervisord manages the running process.

Requirements/dependencies

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.

Deployment

Web app

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

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

Using it

Standard usage of Ship It is documented as part of the full release automation documentation. Troubleshooting information is also available there.