Pagina 1 di 1

Strategia di aggiornamento del pacchetto

Pubblicato: 11 febbraio 2020 - 17:49
di f4242
Ciao,

qual è la tua strategia per aggiornare i pacchetti WAPT sulla tua rete?

Il mio obiettivo è un aggiornamento mensile con una pre-implementazione in un piccolo ambiente con poche workstation (livello di maturità STAGING) seguita da un'implementazione su larga scala qualche giorno dopo (livello di maturità PROD).

Ogni mese devo controllare ogni pacchetto per vedere se esiste un aggiornamento e, in tal caso, distribuirlo. Col tempo, il numero di pacchetti aumenta e di conseguenza aumenta anche il tempo necessario. Fortunatamente, la maggior parte dei pacchetti ha una funzione `update_package` che consente una rapida ricompilazione. Tuttavia, trovare i pacchetti da aggiornare è un'operazione manuale (consultando i siti web degli sviluppatori/distributori).

Dopodiché, tutti i pacchetti devono essere modificati nuovamente per ricompilarli nell'ambiente PROD.

Hai qualche suggerimento per velocizzare l'implementazione degli aggiornamenti sulle tue workstation?

Personalmente, ho pensato a due cose che potrebbero essere d'aiuto, ma richiedono modifiche a WAPT.

Il primo miglioramento consisterebbe nell'aggiungere una funzione `update_check` ai pacchetti, che restituirebbe `true` se sono disponibili aggiornamenti a monte. Questa funzione potrebbe interrogare un sito web, in modo simile alla funzione `update_package`. Sarebbe necessario trovare un modo per visualizzare queste informazioni nella console WAPT. Ciò automatizzerebbe la ricerca dei pacchetti da aggiornare.

Il secondo miglioramento sarebbe la possibilità di ricompilare un pacchetto con un solo clic nella console per trasferirlo nell'ambiente di produzione. Idealmente, potrei selezionare più pacchetti contemporaneamente e lasciarli ricompilare automaticamente.

Grazie!

Re: Strategia di aggiornamento del pacchetto

Pubblicato: 12 febbraio 2020 - 10:55
di sfontenau
Ciao,

abbiamo già un metodo interno per questo (gestito al di fuori di WAPT).

Questo script recupera le versioni software più recenti dai siti web ufficiali degli sviluppatori.
Se la versione del software è cambiata dall'ultimo controllo, lo script avvia anche una build Jenkins del pacchetto associato, esegue il comando update_package per quel pacchetto e lo carica su un server temporaneo (inviandoci una notifica durante il processo).
Da questo momento in poi, inizia l'intervento umano: l'utente deve verificare e testare il pacchetto. Se tutto è corretto, il pacchetto può essere distribuito in produzione.

Come bonus, lo script invia una notifica a un account Twitter ;)
: https://twitter.com/patchmanagement

Re: Strategia di aggiornamento del pacchetto

Pubblicato: 12 febbraio 2020 - 14:19
di f4242
Interessante. Anche io vorrei implementare l'automazione delle build in futuro. Di solito qui usiamo GitLab CI, ma immagino di poter fare qualcosa di simile. Il tuo server di build è su Windows o Linux?

Probabilmente inizierò con uno script di notifica e poi, quando avrò tempo, passerò all'automazione delle build.

Re: Strategia di aggiornamento del pacchetto

Pubblicato: 12 febbraio 2020 - 14:40
di sfontenau
Utilizziamo Gitea per gestire le ricette dei pacchetti.
Gitea ha un repository per ogni pacchetto (il repository non ospita i file binari).

Ogni repository ha un Jenkinsfile che definisce cosa deve fare Jenkins. (Il Jenkinsfile è ancora presente nei nostri pacchetti pubblici.)

Quando eseguiamo una build su Jenkins, Jenkins clona il repository ed esegue il Jenkinsfile su uno slave Jenkins su Windows.

Quindi il nostro server Jenkins è su Linux, ma il suo slave è su Windows.

Re: Strategia di aggiornamento del pacchetto

Pubblicato: 12 febbraio 2020 - 17:38
di f4242
Grazie per l'informazione. La terrò a mente :)

Re: Strategia di aggiornamento del pacchetto

Pubblicato: 13 febbraio 2020 - 09:21
di Mathieu
Ciao,

è possibile aggiungere questa funzione a WAPT?

Sono iscritto all'account Twitter e alla newsletter degli Ants (a proposito, non ricevo più email). Implementare uno strumento del genere in WAPT farebbe risparmiare molto tempo, dato che aggiornare e caricare ogni singolo pacchetto richiede parecchio tempo.

Re: Strategia di aggiornamento del pacchetto

Pubblicato: 13 febbraio 2020 - 10:14
di sfontenau
Mathieu ha scritto: 13 feb 2020 - 09:21 È possibile aggiungere questa funzione a WAPT?
Stiamo entrando in una fase di integrazione continua.
Nella peggiore delle ipotesi, possiamo documentare questo lavoro in modo che possa essere riprodotto per voi, ma senza andare oltre.
Mathieu ha scritto: 13 feb 2020 - 09:21 Sono iscritto al Twitter e alla newsletter delle Formiche (a proposito, non ricevo più email),
Vedo che ti sei registrato stamattina alle 09:25
Mathieu ha scritto: 13 feb 2020 - 09:21 Implementare uno strumento di questo tipo in WAPT farebbe davvero risparmiare tempo, perché passare attraverso ogni pacchetto per fare un aggiornamento e poi caricarlo richiede tempo.
Posso aiutarti a configurarlo. Per farlo, ti serviranno innanzitutto:
- Un Jenkins
- Una Gitea
- Uno schiavo di Windows