User:Martyav/Portal:Pipeline (staging)/Tools
This page is currently a draft. More information and discussion about changes to this draft on the talk page. |
Not to be confused with tools in the Toolforge sense, these are the things we use to deploy code and communicate about it.
Communication
For communication, code sharing, and organizing tasks, we use the following:
- Gerrit, our code review system; where our repos live. Note that while Github contains many of our public repos, you can only make pull requests via Gerrit.
- Phabricator, for project management, such as opening tickets and talking about our plans for the next quarter.
- IRC, live chat channels. The main one deployment uses is #wikimedia-serviceops.
Deploying code
The pipeline itself uses several different tools and services to deploy code onto the Wikimedia servers. The chief ones are:
- Kubernetes, an open-source system for automating deployment and managing containers.
- Jenkins, a Java-based tool that automates common tasks within Gerrit.
- Zuul, a Python daemon that communicates between Jenkins and Gerrit.
Testing
During deployment, we test code both locally, and on test servers. During local testing, we use Apache ab to create benchmarks. For more information about our test servers, see test.wikipedia.org and test2.wikipedia.org
Notes
There are also some tools on their way out. For example, Scap has been historically important to Wikimedia deployment, but we are trying to move away from it in favor of Helm.