Seite 1 von 1

Strategie für Paketaktualisierungen

Veröffentlicht: 11. Februar 2020 – 17:49 Uhr
von f4242
Hallo,

wie gehen Sie bei der Aktualisierung von WAPT-Paketen in Ihrem Netzwerk vor?

Ich plane monatliche Updates mit einer Vorab-Bereitstellung in einer kleinen Testumgebung mit wenigen Workstations (Testphase) und anschließender großflächiger Bereitstellung einige Tage später (Produktionsumgebung).

Jeden Monat muss ich jedes Paket auf verfügbare Updates prüfen und diese gegebenenfalls bereitstellen. Mit der Zeit steigt die Anzahl der Pakete und damit auch der Zeitaufwand. Glücklicherweise verfügen die meisten Pakete über eine `update_package`-Funktion, die ein schnelles Neuverpacken ermöglicht. Die Suche nach den zu aktualisierenden Paketen erfolgt jedoch manuell (durch Konsultation der Websites der Entwickler/Distributoren).

Anschließend müssen alle Pakete erneut angepasst werden, um sie in der Produktionsumgebung neu zu erstellen.

Haben Sie Tipps, wie sich die Bereitstellung von Updates auf den Workstations beschleunigen lässt?

Mir sind zwei Lösungsansätze eingefallen, die jedoch Änderungen an WAPT erfordern.

Die erste Verbesserung wäre das Hinzufügen einer `update_check`-Funktion zu den Paketen, die `true` zurückgibt, wenn Aktualisierungen verfügbar sind. Diese Funktion könnte, ähnlich wie die `update_package`-Funktion, eine Website abfragen. Es müsste eine Möglichkeit gefunden werden, diese Informationen in der WAPT-Konsole anzuzeigen. Dadurch würde die Suche nach zu aktualisierenden Paketen automatisiert.

Die zweite Verbesserung wäre die Möglichkeit, ein Paket mit einem einzigen Klick in der Konsole neu zu erstellen und in die Produktionsumgebung zu übertragen. Idealerweise könnte ich mehrere Pakete gleichzeitig auswählen und sie automatisch neu erstellen lassen.

Vielen Dank!

Betreff: Strategie für Paketaktualisierungen

Veröffentlicht: 12. Februar 2020 - 10:55 Uhr
von Sfonteneau
Hallo,

wir haben bereits eine interne Methode dafür (die außerhalb von WAPT verwaltet wird).

Dieses Skript ruft die neuesten Softwareversionen von den offiziellen Websites der Hersteller ab.
Wenn sich die Softwareversion seit der letzten Prüfung geändert hat, initiiert das Skript außerdem einen Jenkins-Build des zugehörigen Pakets, führt `update_package` für dieses Paket aus und lädt es anschließend auf einen temporären Server hoch (wobei wir benachrichtigt werden).
Ab diesem Zeitpunkt ist menschliches Eingreifen erforderlich: Der Benutzer muss das Paket überprüfen und testen. Wenn alles korrekt ist, kann das Paket in der Produktionsumgebung bereitgestellt werden.

Zusätzlich sendet das Skript eine Benachrichtigung an den Twitter-Account ;)
: https://twitter.com/patchmanagement

Betreff: Strategie für Paketaktualisierungen

Veröffentlicht: 12. Februar 2020 – 14:19 Uhr
von f4242
Interessant. Build-Automatisierung möchte ich auch irgendwann mal implementieren. Wir nutzen hier normalerweise GitLab CI, aber ich könnte wohl etwas Ähnliches umsetzen. Läuft euer Build-Server unter Windows oder Linux?

Ich fange wahrscheinlich mit einem Benachrichtigungsskript an und gehe dann, wenn ich Zeit habe, zur Build-Automatisierung über.

Betreff: Strategie für Paketaktualisierungen

Veröffentlicht: 12. Februar 2020 – 14:40 Uhr
von Sfonteneau
Wir verwenden Gitea zur Verwaltung von Paketrezepten.
Gitea verfügt über ein Repository pro Paket (das Repository enthält keine Binärdateien).

Jedes Repository besitzt eine Jenkinsfile, die die Aktionen von Jenkins definiert. (Die Jenkinsfile ist weiterhin in unseren öffentlichen Paketen vorhanden.)

Beim Ausführen eines Builds auf Jenkins klont Jenkins das Repository und führt die Jenkinsfile auf einem Windows-Jenkins-Slave aus.

Unser Jenkins-Server läuft also unter Linux, sein Slave jedoch unter Windows.

Betreff: Strategie für Paketaktualisierungen

Veröffentlicht: 12. Februar 2020 – 17:38 Uhr
von f4242
Danke für die Information. Ich werde das berücksichtigen :)

Betreff: Strategie für Paketaktualisierungen

Veröffentlicht: 13. Februar 2020 - 09:21 Uhr
von Mathieu
Hallo,

ist es möglich, diese Funktion in WAPT zu integrieren?

Ich bin Abonnent des Twitter-Accounts und des Newsletters der Ants (E-Mails erhalte ich übrigens nicht mehr). Die Implementierung eines solchen Tools in WAPT würde enorm viel Zeit sparen, da das Aktualisieren und anschließende Hochladen jedes einzelnen Pakets sehr zeitaufwendig ist.

Betreff: Strategie für Paketaktualisierungen

Veröffentlicht: 13. Februar 2020 - 10:14 Uhr
von Sfonteneau
Mathieu schrieb: 13. Feb. 2020 - 09:21 Ist es möglich, diese Funktion zu WAPT hinzuzufügen?
Wir treten in eine Phase der kontinuierlichen Integration ein.
Im schlimmsten Fall können wir diese Arbeit so dokumentieren, dass sie für Sie reproduziert werden kann, aber ohne darüber hinauszugehen.
Mathieu schrieb: 13. Februar 2020 - 09:21 Ich bin Abonnent des Twitter-Accounts und des Newsletters der Ants (ich erhalte übrigens keine E-Mails mehr).
Ich sehe, dass Sie sich heute Morgen um 09:25 Uhr registriert haben
Mathieu schrieb: 13. Feb. 2020 - 09:21 Die Implementierung eines solchen Tools in WAPT würde wirklich Zeit sparen, da das Durchgehen jedes einzelnen Pakets, um ein Update durchzuführen und es dann hochzuladen, Zeit in Anspruch nimmt.
Ich kann Ihnen dabei helfen. Dazu benötigen Sie zunächst Folgendes:
- A Jenkins
- Eine Gitea
- Ein Windows-Slave