Build server » Historie » Version 27
Maximilian Seesslen, 07.11.2024 20:10
1 | 27 | Maximilian Seesslen | [[]] h1. Build server |
---|---|---|---|
2 | 1 | Maximilian Seesslen | |
3 | 12 | Maximilian Seesslen | h2. Liste |
4 | |||
5 | https://github.com/ligurio/awesome-ci?tab=readme-ov-file |
||
6 | |||
7 | 1 | Maximilian Seesslen | h2. Laminar |
8 | |||
9 | Shell scripts only. Super minimalistisch aber flexibel. Kann auf der Webseite nicht mal build anstossen (so gewollt); brauch ichs dann ueberhaubt? |
||
10 | C++. |
||
11 | Artifacts forhanden |
||
12 | |||
13 | 2 | Maximilian Seesslen | <pre><code class="shell"> |
14 | base=$(basename $0) |
||
15 | PROJECT=${base%.*} |
||
16 | |||
17 | echo "=== Project: $PROJECT" |
||
18 | |||
19 | </code></pre> |
||
20 | |||
21 | 11 | Maximilian Seesslen | https://tracker.debian.org/pkg/laminar |
22 | https://github.com/ohwgiles/laminar/releases/tag/1.3 |
||
23 | 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. |
||
24 | |||
25 | 1 | Maximilian Seesslen | h2. Buildbot |
26 | |||
27 | Python. |
||
28 | Builders sind in Python formuliert. |
||
29 | 8 | Maximilian Seesslen | "Install on Debian":https://linuxhostsupport.com/blog/how-to-install-buildbot-on-debian-9/ |
30 | 1 | Maximilian Seesslen | |
31 | 21 | Maximilian Seesslen | -Laesst sich an der Konsole nicht triggern.- |
32 | -Web-Interface gibts unter Debian wegen JS-Abhaengigkeiten nicht.- |
||
33 | Laesst sich via pip installieren, dann lauft auch das Webinterface. |
||
34 | Triggern problemlos moeglich. |
||
35 | https://www.digitalocean.com/community/tutorials/how-to-install-buildbot-on-ubuntu-16-04 |
||
36 | |||
37 | 23 | Maximilian Seesslen | Webinterface irgendwie holprig. |
38 | http://localhost:8010/#/builders/2 |
||
39 | 9 | Maximilian Seesslen | |
40 | 24 | Maximilian Seesslen | Examples: |
41 | https://builder.blender.org/admin/#/builders/9/builds/14293 |
||
42 | |||
43 | 17 | Maximilian Seesslen | h2. Dagger |
44 | |||
45 | Cloud |
||
46 | |||
47 | 1 | Maximilian Seesslen | h2. GoCD |
48 | |||
49 | http://localhost:8153/go/pipelines#!/ |
||
50 | Noch am ehesten mit Jenkins vergleichbar. |
||
51 | * Coole XML configuration, aber ueber webinterfase zusammenstellbar. |
||
52 | * User-Management |
||
53 | 16 | Maximilian Seesslen | * 'nur' S3 artifacts plugin |
54 | * Java |
||
55 | 1 | Maximilian Seesslen | |
56 | 13 | Maximilian Seesslen | h2. Kraken |
57 | |||
58 | http://localhost:8082/ |
||
59 | https://github.com/Kraken-CI/kraken/releases |
||
60 | Bischen buggy. Artifacts nur ueber minio. |
||
61 | Multibranch muss man sich selbst machen. |
||
62 | |||
63 | 14 | Maximilian Seesslen | h2. Earthly |
64 | |||
65 | http://127.0.0.1:8371/ |
||
66 | |||
67 | 15 | Maximilian Seesslen | Only CLI open source? |
68 | 14 | Maximilian Seesslen | |
69 | 1 | Maximilian Seesslen | h2. Requirements |
70 | |||
71 | 5 | Maximilian Seesslen | * Mitbekommen, dass etwas nicht eingecheckt ist; |
72 | ** hooks |
||
73 | ** All-devel builds to see if a feature has broken something |
||
74 | 1 | Maximilian Seesslen | * Compelieren auf anderen Systemen (Docker); Qt5 vs Qt6 |
75 | * Deploy artifacts |
||
76 | ** ./campo.sh laminar release v1.2.3 |
||
77 | 13 | Maximilian Seesslen | * Eigentlich schon multibranch. Ich pushe etwas in einen Branch, dieser wird gebaut. |
78 | 7 | Maximilian Seesslen | |
79 | 3 | Maximilian Seesslen | h2. Releasing |
80 | |||
81 | * Erstellung eines releases eigentlich unabhaengig von software repo. |
||
82 | |||
83 | 1 | Maximilian Seesslen | Ein release kann kein make target sein. Derzeit kann das campo-script dies erledigen. |
84 | 10 | Maximilian Seesslen | |
85 | 20 | Maximilian Seesslen | h2. Drone |
86 | |||
87 | 10 | Maximilian Seesslen | h2. Scripts |
88 | |||
89 | Deswegen waere Laminar ganz cool. Einfach irgendwas anstossen und ne Uebersicht haben. |
||
90 | 18 | Maximilian Seesslen | |
91 | h1. Once again |
||
92 | |||
93 | So i made changes to laminar so the build information is more complete. How should the hooks look like. |
||
94 | Build everything on hetzner? My workstation is so shiny. |
||
95 | |||
96 | There is no post-push-hook. Only alias. |
||
97 | Manual trigger for all devel builds. |
||
98 | |||
99 | When the SCM_BRANCH is "devel", all submodules are checked out from "devel" as well. |
||
100 | 19 | Maximilian Seesslen | Polling. |
101 | 25 | Maximilian Seesslen | |
102 | h1. Squeezer |
||
103 | |||
104 | The "Build-all" feature is hard to model to build servers. Just having a script is tempting. |
||
105 | Its working right now. |
||
106 | |||
107 | * A report might be nice. |
||
108 | * Parallelization of builds might be nice because parallelization within a single build is not perfect. |
||
109 | 26 | Maximilian Seesslen | |
110 | <pre><code class="shell"> |
||
111 | echo $(pgrep -c -P$$) |
||
112 | </code></pre> |