1642899159
On systems such as Alpine Linux (with busybox) and Adelie Linux (with coreutils), the shell core utilities such as pwd, true, false, env, and yes are all symlinks to a single binary. This single binary relies on the name of the symlink to determine which command ("applet" in busybox parlance) to execute. Therefore creating symlinks to these symlinks will not work since the single binary will only see the top-level symlink and thus think it is an invalid command. Instead, generate executable shell scripts that exec into the desired command. This also allows $PATH based resolution to occur instead of hard-coding the command paths. See also issue #94. |
||
---|---|---|
etc | ||
example-scripts | ||
src | ||
test | ||
CMakeLists.txt | ||
COPYING | ||
docker-build-centos.sh | ||
docker-build-debian.sh | ||
docker-xbuild-debian-armhf.sh | ||
README.md | ||
UserManual.md |
Laminar CI
Laminar (https://laminar.ohwg.net) is a lightweight and modular Continuous Integration service for Linux. It is self-hosted and developer-friendly, eschewing a configuration UI in favour of simple version-controllable configuration files and scripts.
Laminar encourages the use of existing GNU/Linux tools such as bash
and cron
instead of reinventing them.
Although the status and progress front-end is very user-friendly, administering a Laminar instance requires writing shell scripts and manually editing configuration files. That being said, there is nothing esoteric here and the guide should be straightforward for anyone with even very basic Linux server administration experience.
See the website and the documentation for more information.
Building from source
First install development packages for capnproto (version 0.7.0 or newer)
, rapidjson
, sqlite
and boost
(for the header-only multi_index_container
library) from your distribution's repository or other source. Then:
git clone https://github.com/ohwgiles/laminar.git
cd laminar
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/
make -j4
sudo make install
make install
includes a systemd unit file. If you intend to use it, consider creating a new user laminar
or modifying the user specified in the unit file.