Projekt

Allgemein

Profil

Build server » Historie » Revision 21

Revision 20 (Maximilian Seesslen, 05.09.2024 17:24) → Revision 21/27 (Maximilian Seesslen, 11.09.2024 17:19)

h1. Build server

h2. Liste

https://github.com/ligurio/awesome-ci?tab=readme-ov-file

h2. 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

<pre><code class="shell">
base=$(basename $0)
PROJECT=${base%.*}

echo "=== Project: $PROJECT"

</code></pre>

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.



h2. Buildbot

Python.
Builders sind in Python formuliert.
"Install on Debian":https://linuxhostsupport.com/blog/how-to-install-buildbot-on-debian-9/

-Laesst Laesst sich an der Konsole nicht triggern.- triggern.
-Web-Interface 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

nicht.

h2. Dagger

Cloud

h2. 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

h2. Kraken

http://localhost:8082/
https://github.com/Kraken-CI/kraken/releases
Bischen buggy. Artifacts nur ueber minio.
Multibranch muss man sich selbst machen.

h2. Earthly

http://127.0.0.1:8371/
Page not found

Only CLI open source?

h2. 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.

h2. Releasing

* Erstellung eines releases eigentlich unabhaengig von software repo.

Ein release kann kein make target sein. Derzeit kann das campo-script dies erledigen.

h2. Drone

h2. Scripts

Deswegen waere Laminar ganz cool. Einfach irgendwas anstossen und ne Uebersicht haben.

h1. 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.