[[]] h1. Build server
Liste¶
https://github.com/ligurio/awesome-ci?tab=readme-ov-file
Laminar¶
Shell scripts only. Super minimalistisch aber flexibel. Kann auf der Webseite nicht mal build anstossen (so gewollt); brauch ichs dann ueberhaubt?
C++.
Artifacts forhanden
base=$(basename $0)
PROJECT=${base%.*}
echo "=== Project: $PROJECT"
https://tracker.debian.org/pkg/laminar
https://github.com/ohwgiles/laminar/releases/tag/1.3
Debian is replacing the integrated Chart.js with incompatible version for some reason. Installing generated Package from github should work without issues. Daemon brings its own Chart.js.
Buildbot¶
Python.
Builders sind in Python formuliert.
Install on Debian
Laesst sich an der Konsole nicht triggern.Web-Interface gibts unter Debian wegen JS-Abhaengigkeiten nicht.
Laesst sich via pip installieren, dann lauft auch das Webinterface.
Triggern problemlos moeglich.
https://www.digitalocean.com/community/tutorials/how-to-install-buildbot-on-ubuntu-16-04
Webinterface irgendwie holprig.
http://localhost:8010/#/builders/2
Examples:
https://builder.blender.org/admin/#/builders/9/builds/14293
Dagger¶
Cloud
GoCD¶
http://localhost:8153/go/pipelines#!/Noch am ehesten mit Jenkins vergleichbar.
- Coole XML configuration, aber ueber webinterfase zusammenstellbar.
- User-Management
- 'nur' S3 artifacts plugin
- Java
Kraken¶
http://localhost:8082/
https://github.com/Kraken-CI/kraken/releases
Bischen buggy. Artifacts nur ueber minio.
Multibranch muss man sich selbst machen.
Earthly¶
Only CLI open source?
Requirements¶
- Mitbekommen, dass etwas nicht eingecheckt ist;
- hooks
- All-devel builds to see if a feature has broken something
- Compelieren auf anderen Systemen (Docker); Qt5 vs Qt6
- Deploy artifacts
- ./campo.sh laminar release v1.2.3
- Eigentlich schon multibranch. Ich pushe etwas in einen Branch, dieser wird gebaut.
Releasing¶
- Erstellung eines releases eigentlich unabhaengig von software repo.
Ein release kann kein make target sein. Derzeit kann das campo-script dies erledigen.
Drone¶
Scripts¶
Deswegen waere Laminar ganz cool. Einfach irgendwas anstossen und ne Uebersicht haben.
Once again¶
So i made changes to laminar so the build information is more complete. How should the hooks look like.
Build everything on hetzner? My workstation is so shiny.
There is no post-push-hook. Only alias.
Manual trigger for all devel builds.
When the SCM_BRANCH is "devel", all submodules are checked out from "devel" as well.
Polling.
Squeezer¶
The "Build-all" feature is hard to model to build servers. Just having a script is tempting.
Its working right now.
- A report might be nice.
- Parallelization of builds might be nice because parallelization within a single build is not perfect.
echo $(pgrep -c -P$$)
Von Maximilian Seesslen vor 3 Monaten aktualisiert · 27 Revisionen