Nedko Arnaudov 9781b523d3 | ||
---|---|---|
GNUmakefile | ||
README-docinfo-header.html | ||
README-docinfo.html | ||
README.adoc | ||
http_server.lua | ||
hub.lua | ||
irc.lua | ||
irc_client.lua | ||
irc_server.lua | ||
ladici | ||
ladici-fengari.html | ||
ladici-fengari.lua | ||
locations.lua | ||
misc.lua | ||
protocols.lua | ||
remotes.lua |
README.adoc
ladici - The LADI Continuous Integration software
WORK IN PROGRESS This is Work In Progress. |
Goals
-
Minimal dependencies
-
lua
-
luasocket
-
fengari (optional, for the client-side scripting frontend)
-
-
IRC based LPC/RPC
-
no database. Use lua files for configuration. Use filesystem symlinks & hardlinks where a simple filesystem tree is not enough.
Concepts
-
ladici HQ - the central machine/node
-
ladici factory - a machine/node (can be the HQ one) where lanes are hosted
-
ladici lane - a chain or DAG of rules & commands to be executed by ladici factories
In simplest case, ladici deployment consists of single machine/node running ladici. The process running HQ can also run a factory and is pre-configured so with one that runs lane to create tarballs from sources.
Download (via GIT)
Usage
Running "./ladici hq" from source checkout will start the HQ node. By default HQ node comes with a HTTP server listening at 127.0.0.1:8010 for read-only HTML server-side scripting generated view.
To run the client-side scripting in WWW browser with JavaScript:
-
Obtain a copy of "fengary-web.js". fengary-web-0.1.4 can be downloaded from https://github.com/fengari-lua/fengari-web/releases/download/v0.1.4/fengari-web.js
-
Copy fengari-web.js to the same directory that will serve ladici-fengari.html and ladici-fengari.lua
-
Setup web server to serve static content of the directory where ladici-fengari.html and ladici-fengari.lua and fengari-web.js reside and make ladici-fengari.html the default document.
Configuring
Example of configuring the ladici http server to bind at 127.0.3.2 instead of 127.0.0.1
For simple setups the above works good with /etc/hosts line like: