Module client
In this documentation we will teach you how to run a module-client on a Raspberry Pi. Note that this is not very complete information yet, but it should give you some pointers at least.
Install docker
https://docs.docker.com/engine/install/raspberry-pi-os/#install-using-the-repository
Using GPIO modules?
http://wiringpi.com/download-and-install/
Starting CIMonitor on a display (optional)
sudo vim /etc/xdg/lxsession/LXDE-pi/autostart
and insert the contents:
@xset s off
@xset -dpms
@xset s noblank
@chromium-browser --kiosk https://ci.example.com
you might also want to hide the mouse, install unclutter:
sudo apt install unclutter
Running module client
Create a CIMonitor folder on your PI:
mkdir ~/CIMonitor;
cd ~/CIMonitor;
Create module config
Create a ~/CIMonitor/storage/modules.json
:
{
"triggers": [
{
"status": {
"state": "success",
"branch": "master"
},
"event": "celebrate"
},
{
"status": {
"state": "success",
"branch": "main"
},
"event": "celebrate"
},
{
"status": {
"state": "success",
"branch": "production"
},
"event": "celebrate"
}
],
"events": [
{
"name": "celebrate",
"modules": [
{
"type": "gpio",
"pin": 7,
"mode": "on-for",
"duration": 10000
}
]
}
]
}
Start docker container
There, run the CIMonitor module client:
docker run \
--privileged \
--detach \
--restart unless-stopped \
--name CIMonitorClient \
--volume $(pwd)/storage:/CIMonitor/storage \
--volume /usr/bin/gpio:/usr/bin/gpio \
--volume /lib/libwiringPiDev.so:/lib/libwiringPiDev.so \
--volume /lib/libwiringPi.so:/lib/libwiringPi.so \
--volume /dev/mem:/dev/mem \
--volume /dev/gpiomem:/dev/gpiomem \
--env CIMONITOR_SERVER_URL="https://ci.example.com" \
cimonitor/module-client:latest-arm