From 508c6522fdd99067fc247b6ec1b4d6054cf6e7a6 Mon Sep 17 00:00:00 2001 From: Marcello Stanisci Date: Wed, 24 May 2017 11:15:02 +0200 Subject: document buildbot for taler.net --- docs/dev-talerdotnet.rst | 97 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 97 insertions(+) diff --git a/docs/dev-talerdotnet.rst b/docs/dev-talerdotnet.rst index b3363199..8c215d84 100644 --- a/docs/dev-talerdotnet.rst +++ b/docs/dev-talerdotnet.rst @@ -26,6 +26,9 @@ FIXME: describe Per-user environments ------------------------------- +.. + NOTE: this is already documented in deployment.rst. + Every user that is in the `www-data` group can set up a custom environment, available under `https://env.taler.net/$USER/`. @@ -47,4 +50,98 @@ Sourcing the `~/.activate` script makes the following commands available: * `taler-deployment-start` to start the environment (including the postgres instance) * `taler-deployment-stop` to stop the environment (including the postgres instance) +-------- +Buildbot +-------- +.. note:: + `worker` and `slave` are used interchangeably + +The user running the buildbot master is `containers`. + +++++++ +Master +++++++ + +To start the master, log in as `containers`, and run: + +.. code-block:: none + $ ~/buildbot/start.sh + + # To stop it, run: + $ ~/buildbot/stop.sh + +There is also a "restart" script, runnable as follows: + + +.. code-block:: none + $ ~/buildbot/restart.sh + ++++++++++++++++ +Selenium worker ++++++++++++++++ + +This worker is responsible for running the Selenium wallet test: +an automatic clicker that performs the cycle withdraw-and-spend. + +The `containers` user is also responsible for running the Selenium +buildbot worker. + +Start it with: + +.. code-block:: none + $ buildbot-worker start ~/buildbot/selenium_worker/ + + # stop it with: + $ buildbot-worker stop ~/buildbot/selenium_worker/ + ++++++++++++ +Lcov worker ++++++++++++ + +The worker is implemented by the `lcovslave` user and is responsible +for generating the HTML showing the coverage of our tests, then available +on `https://lcov.taler.net`. + +.. + NOTE: document https://lcov.taler.net/ set-up + +To start the worker, log in as `lcovslave` and run: + +.. code-block:: none + $ source ~/activate + $ taler-deployment-bbstart + + # To stop it: + $ taler-deployment-bbstop + ++++++++++++++++ +Switcher worker ++++++++++++++++ + +Taler.net uses a "blue/green" fashion to update the code it +uses in demos. Practically, there are two users: `test-green` +and `test-blue`, and only one of them is "active" at any time. + +Being `active` means that whenever nginx receives a HTTP request +for one of the Taler services (at our demo), it routes the request +to either test-blue or test-green via unix domain sockets. + +Upon any push to any of the Taler's subprojects, this worker is +responsible for building the code hosted at the inactive user and, +if all tests succeed, switching the active user to the one whose code +has just been compiled and tested. + +The worker is implemented by the `testswitcher` user. This user +has some additional "sudo" rights, since it has to act as `test-blue`, +`test-green` and `test` user in order to accompish its task. +Note that the "sudo file" is tracked in this (`deployment`) repository, +under the `sudoers` directory. + +To start the worker, log in as `lcovslave` and run: + +.. code-block:: none + $ source ~/activate + $ taler-deployment-bbstart + # To stop it: + $ taler-deployment-bbstop -- cgit v1.2.3