Sign inSign up

mapperr/laminar

By mapperr

•Updated over 2 years ago

Laminar CI [https://laminar.ohwg.net] with git, openssh, rsync, webhookd and docker cli

Image
Integration & delivery
0

931

mapperr/laminar repository overview

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.

⁠Usage

You can pass to this image all the env vars⁠ and bind mounts⁠ described in the Laminar CI documentation, and then you can:

  • pass a LAMINAR_ENABLE_SSH=true to activate the sshd daemon
  • pass a LAMINAR_ENABLE_WEBHOOKS=true to activate the webhookd daemon
  • bind mount ssh public key files to /etc/authorized_keys/xxxx to add authorized keys for the laminar user

i.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⁠

⁠Deploy Laminar CI configs

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

⁠Tag scheme

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.

Tag summary

Content type

Image

Digest

sha256:2d57121a6…

Size

41 MB

Last updated

over 2 years ago

docker pull mapperr/laminar