Laminar CI [https://laminar.ohwg.net] with git, openssh, rsync, webhookd and docker cli
931
Laminar CI in a docker container with this stuff preinstalled:
sshd and webhookd daemons can be activated via their respective env vars (see below).
Check the Laminar CI documentation on docker and its dockerfile to understand the base for this image.
You can pass to this image all the env vars and bind mounts described in the Laminar CI documentation, and then you can:
LAMINAR_ENABLE_SSH=true to activate the sshd daemonLAMINAR_ENABLE_WEBHOOKS=true to activate the webhookd daemonlaminar useri.e. you can do:
docker run -d \
--name laminarci \
-p 2222:22 \
-p 8080:8080 \
-p 9090:9090 \
-v ci_data:/var/lib/laminar \
-e LAMINAR_TITLE=MyCIServer \
-e LAMINAR_ENABLE_SSH=true \
-e LAMINAR_ENABLE_WEBHOOKS=true \
-v $HOME/.ssh/my_key.pub:/etc/authorized_keys/user1 \
-v $HOME/.ssh/my_friends_key.pub:/etc/authorized_keys/user2-3-4 \
mapperr/laminar
And then just ssh -p 2222 -i $HOME/.ssh/my_key laminar@localhost.
The web UI will be on http://localhost:8080
and the webhookd daemon will be listening on http://localhost:9090
An easy way to deploy Laminar CI configs, once the container is up and running, is the following:
# setup a directory with your Laminar CI configs
# it can (should : ) be a git repo
# it will represent the Laminar CI $LAMINAR_HOME/cfg directory
# i.e.
$ tree
.
├── deploy.sh
├── jobs
│ ├── docker_build_java_springboot.run
│ └── hello.run
└── scripts
│ └── run_in_docker
└── webhooks
└── mywebhook
# use the deploy.sh script to sync
$ cat deploy.sh
#!/bin/sh
rsync -Phv -ar --delete \
-e ssh \
--exclude=deploy.sh \
--exclude=.git/ \
. my-laminar:/var/lib/laminar/cfg/
where my-laminar can be configured in your ~/.ssh/config as something like this:
host my-laminar
hostname ci.at.my.domain
port 2222
user laminar
identityfile ~/.ssh/my_key
The tag scheme is based on Laminar versions:
mapperr/laminar:$LAMINAR_VERSION-$BUILD_NUMBER
Where BUILD_NUMBER is a sequential number.
Also:
mapperr/laminar:$LAMINAR_VERSION
is the latest build for that Laminar version.
Content type
Image
Digest
sha256:2d57121a6…
Size
41 MB
Last updated
over 2 years ago
docker pull mapperr/laminar