Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
technik:software:gluon [09.12.2019 - 11:34] – nrb | technik:software:gluon [05.12.2024 - 17:27] (aktuell) – nrb | ||
---|---|---|---|
Zeile 10: | Zeile 10: | ||
Es gibt derzeit die folgenden Kanaele: | Es gibt derzeit die folgenden Kanaele: | ||
- | * *stable*: die neuste stabile Version. Diese Version wurde ausfuehrlich getestet und wird fuer pflegeleichte Installationen empfohlen. | + | |
- | * *beta*: hier gibt es eine etwas aktuellere Version. Sie wurde auch getestet, aber moeglicherweise nicht auf so vielen Geraeten wie die stabile Version. In der Regel sollte hier nichts kaputt gehen, aber es kann vielleicht mal zu kleineren Problemen kommen. | + | * //beta//: hier gibt es eine etwas aktuellere Version. Sie wurde auch getestet, aber moeglicherweise nicht auf so vielen Geraeten wie die stabile Version. In der Regel sollte hier nichts kaputt gehen, aber es kann vielleicht mal zu kleineren Problemen kommen. |
- | * *nightly*: die aktuelle Entwicklungsversion. Wenn du diese Version verwendest, solltest du wissen wie du einen gebrickten Router wiederherstellen kannst. | + | * //nightly//: die aktuelle Entwicklungsversion. Wenn du diese Version verwendest, solltest du wissen wie du einen gebrickten Router wiederherstellen kannst. |
- | * *experimental*: eine experimentelle Entwicklungsversion. Immer wenn wir etwas groesseres Umstellen, veroeffentlichen wir zunaechst eine experimentelle Version. Sie kann mit unserem derzeitigen Netz inkompatibel sein. Du solltest auch hier wissen, wie du einen gebrickten Router wiederherstellen kannst. | + | * //experimental//: eine experimentelle Entwicklungsversion. Immer wenn wir etwas groesseres Umstellen, veroeffentlichen wir zunaechst eine experimentelle Version. Sie kann mit unserem derzeitigen Netz inkompatibel sein. Du solltest auch hier wissen, wie du einen gebrickten Router wiederherstellen kannst. |
====== Builds ====== | ====== Builds ====== | ||
Zeile 24: | Zeile 24: | ||
Beim Build wird eine Firmware-Version automatisch mit dem Schluessel von Gitlab signiert, wenn sie von einem protected Branch gebaut wurde. Das ermoeglicht es, den Build direkt auf nightly oder experimental zu veroeffentlichten. | Beim Build wird eine Firmware-Version automatisch mit dem Schluessel von Gitlab signiert, wenn sie von einem protected Branch gebaut wurde. Das ermoeglicht es, den Build direkt auf nightly oder experimental zu veroeffentlichten. | ||
- | |||
- | ==== Offene Punkte Buildinfrastruktur ==== | ||
- | |||
- | * Cache. Der Gitlab CI Cache scheint nicht immer zu funktionieren. Es werden trotzdem bei jedem Build viele Dateien aus dem Internet herunterladen. Untersuchen. | ||
- | * automatische Veroeffentlichung auf firmware | ||
===== Versionsnummern ===== | ===== Versionsnummern ===== | ||
Zeile 34: | Zeile 29: | ||
Die Versionsnummern unserer Firmware sind wie folgt aufgebaut: | Die Versionsnummern unserer Firmware sind wie folgt aufgebaut: | ||
- | ``` | + | < |
v< | v< | ||
- | ``` | + | </ |
Wobei: | Wobei: | ||
- | * `major-version`: die Version des Haupt-Releases. Wir nur selten erhoeht. | + | |
- | * `minor-version`: die Minor-Version. | + | * '' |
- | * `build-datum`: das Build-Datum in der Form `YYYY-MM-DD` | + | * '' |
- | * `commit hash gluon`: Commit Hash des [Gluon-Repo](https:// | + | * '' |
- | * `commit hash gluon site`: Commit Hash des [Site-Config-Repo](https:// | + | * '' |
===== Branches ===== | ===== Branches ===== | ||
- | + | Es gibt fuer jede Minor-Version einen Branch in [site-ffs](https:// | |
- | Es gibt fuer jede Minor-Version einen Branch in [site-ffs](https:// | + | |
===== Tags ===== | ===== Tags ===== | ||
Zeile 56: | Zeile 50: | ||
Fuer jede Veroeffentlichung auf einem Kanal soll ein Tag erstellt werden. Er soll wie folgt formatiert sein: | Fuer jede Veroeffentlichung auf einem Kanal soll ein Tag erstellt werden. Er soll wie folgt formatiert sein: | ||
- | ``` | + | < |
- | < | + | < |
- | ``` | + | </code> |
Wobei: | Wobei: | ||
- | * *versionsnummer* der Name des Branches, von dem gebaut wurde, ist | + | |
- | * *kanalname*: Name des Update-Kanals, | + | * '' |
- | * *releasenummer*: | + | |
- | + | ||
- | Anhand dieses Tag-Namens stellt der Firmware-Server `netinfo` dann die Firmware-Images zum Download auf firmware.freifunk-stuttgart.de bereit. | + | |
===== Automatisches Gluon-Update ===== | ===== Automatisches Gluon-Update ===== | ||
+ | Auf dem Branch der jeweils neusten Entwicklungsversion (d.h. die aus der der nightly-Branch entsteht) wird automatisch jeden Donnerstag geprueft, ob es eine neuere Gluon-Mimor-Version gibt. Falls ja, wird automatisch upgedated. Diese Firmware-Version wird automatisch auf dem `nighly`-Kanal veroeffentlicht. | ||
+ | |||
+ | Es wird immer nur auf die neuste Minor-Version upgegraded. Benutzen wir aktuell Gluon v2019.1 und erscheint Gluon v2019.1.1, wird auf diese Version upgedated. Erscheint v2019.2, wird kein Upgrade durchgefuehrt. | ||
+ | |||
+ | Die Pipeline: https:// | ||
+ | |||
+ | ===== Firmware veröffentlichen ===== | ||
+ | |||
+ | Es gibt zwei Varianten: | ||
+ | |||
+ | * Sofortige Veröffentlichung, | ||
+ | * Gestaffelte Rollout, für die stabile Firmware rollen wir die Firmware Segmentweise aus, um eventuelle Probleme frühzeitig zu finden | ||
+ | |||
+ | |||
+ | ==== Sofortige Veröffentlichung ==== | ||
+ | |||
+ | <WRAP center round important 60%> | ||
+ | Dieses Vorgehen rollt die Firmware auf einmal im ganzen Netz aus! Bitte nur für beta, nightly oder experimental verwenden! Nicht für stable verwenden! | ||
+ | </ | ||
+ | |||
+ | - sicherstellen, | ||
+ | - falls nicht, mit ''/ | ||
+ | - sicherstellen, | ||
+ | - unter ''/ | ||
+ | - den alten symlink nach '' | ||
+ | - einen Symlink mit dem Namen des release-Kanals auf die entsprechende Version anlegen, bspw so: '' | ||
+ | |||
+ | ==== Gestaffelte Veröffentlichung ==== | ||
- | Es gibt eine Pipeline, die im Git-Repo automatisch gegen das jeweils neuste Gluon-Release-Minor-Release baut. Benutzen wir aktuell Gluon `v2019.1` und erscheint Gluon `v2019.1.1`, wird auf diese Version | + | - sicherstellen, dass die Firmware bereits auf dem Firmwareserver unter ''/ |
+ | | ||
+ | - sicherstellen, | ||
+ | - als root die ''/ | ||
+ | - in '' | ||
+ | - '' | ||
+ | - '' | ||
+ | - unter ''/ | ||
+ | - den alten symlink nach '' | ||
+ | - einen Symlink mit dem Namen des release-Kanals | ||
- | Auf dem Branch der jeweils neusten Entwicklungsversion (d.h. die aus der der nightly-Branch entsteht) wird automatisch jeden Donnerstag geprueft, ob es eine neuere Gluon-Version gibt. Falls ja, wird automatisch upgedated. Diese Firmware-Version wird automatisch auf dem `nighly`-Kanal veroeffentlicht. | ||
===== Siehe auch ===== | ===== Siehe auch ===== |