Fireq has Github integration and can deploy, run predefined CI checks (like flake8
, nosetests
e2e tests, etc.), backup databases for according instance, generate base containers, etc. More details.
Fireq is built around command line interface ./fire -h
, it uses mustache templates in tpl
directory to generate straightforward bash scripts. Mustache gives ability to use includes and override just few files as needed, for example the main directory is tpl/superdesk and it contains a lot of files, but to adjust Liveblog deployment it needs override few of them so no duplication needed. It proved already that it's pretty flexible and works pretty well.
Fireq uses LXC for CI and deployment.
Web application is built with aiohttp and it's wrapper around fireq.cli
and handles Github webhooks and CI Dashbord.
Repository contains tree main branches:
master
with codeinit
files to override behavior of according instance (details)files
is separate branch for auto-generated install files
To test install scripts:
./fire gen-files
# superdesk
./fire lxc-init sd
cat files/superdesk/install | ./fire lxc-ssh sd
Details in according issue: SDESK-146.