1
0
mirror of https://github.com/gryf/ferrit.git synced 2026-02-07 16:55:47 +01:00
Files
ferrit/README.rst
2019-11-01 08:17:14 +01:00

67 lines
1.4 KiB
ReStructuredText

======
Ferrit
======
.. image:: img/ferrit.jpg
:alt: Ferrit
Ferrit is a fake Gerrit server implementation created for functional testing of
events in Jenkins & Gerrit Trigger ecosystem.
----
Architecture
------------
Ferrit consists of two servers, http and ssh and companion script for
generating payload for the ssh server.
We relay on real Jenkins installation, so it has to be configured up front. See
next section for details.
Having Jenkins up and running, we can simultaneously run ssh and http servers
by invoking:
.. code:: shell-session
$ python3 gerrit_fake_http_server.py
and
.. code:: shell-session
$ python3 gerrit_fake_ssh_server.py
Output of the last command will provide fifo file name used for triggering
events in json format which can be generated using third part of the Ferrit -
script `generate_event.py`.
Installation
------------
Prerequisites
=============
.. TODO (jenkins, plugins installation and configuration)
Python
======
Ferrit modules are written in Python and depends on two external libraries:
- `paramiko`_ for ssh server
- `bottle`_ for http server
Please note, Python 2.x is not supported.
`Ferrite image`_ by Karl-Martin Skontorp is on Attribution 2.0 Generic (CC BY
2.0) license.
.. _Ferrite image: https://www.flickr.com/photos/picofarad-org/2132206570/
.. _paramiko: https://www.paramiko.org/
.. _bottle: https://bottlepy.org