Notizen

Builds verketten oder aufteilen und verbinden?

Build-Pipelines für ein Keycloak mit mehreren eigenen Plugins.

GitLab-Builds lassen sich verketten, sodass jeder in den nächsten einfliesst. Das funktioniert. Bei einem Keycloak mit mehreren eigenen Plugins und hohen Sicherheitsanforderungen ist es aber meist die falsche Form: Bauen und Testen kann Stunden dauern, und in einer Kette wartet jede Änderung auf alles.

Besser trägt es, aufzuteilen und zu verbinden:

  • Jedes Plugin baut und testet in einer eigenen Pipeline, parallel zu den anderen.
  • Plugin-Releases werden auf Versionen fixiert.
  • Eine «Tested in version»-Liste, die mit den Testläufen nachgeführt wird, hält fest, welche Versionen zusammen getestet wurden.

Das Release verbindet dann fixierte Versionen, die auf diesen Listen stehen, statt die ganze Kette neu zu bauen.