Personalizzazione di Azure Devops

Di Simone Tamagnini - pubblicato il 20/06/2022

Personalizzazione di Azure Devops

Di Simone Tamagnini - pubblicato il 20/06/2022

Di Simone Tamagnini
pubblicato il 20/06/2022

L’attività di personalizzazione di Azure DevOps consiste nella creazione di applicazioni custom, chiamate “Estensioni”, che permettono di creare/modificare/integrare le componenti web e le funzionalità standard offerte dal servizio di Microsoft.

L’attività di personalizzazione di Azure DevOps consiste nella creazione di applicazioni custom, chiamate “Estensioni”, che permettono di creare/modificare/integrare le componenti web e le funzionalità standard offerte dal servizio di Microsoft.

Queste estensioni possono contenere principalmente codice HTML, Javascript, Css e linguaggi derivati.

Nel nostro caso specifico, un primario istituto di credito ci ha commissionato 3 macro attività:

  • Nuova dashboard applicativa: una pagina web che permettesse agli utenti la visualizzazione dello stato di tutte le attività di deploy automatico (il nome tecnico è “Pipeline di release”) raggruppate secondo logiche a piacere, con la possibilità (nel caso di utenti abilitati) di approvare i rilasci in attesa di approvazione.
  • Avanzamento Massivo per lavorazioni Agile: viene aggiunto un pulsante sulla pagina “Boards” che permette, agli utenti con le opportune abilitazioni, di avanzare con un solo click tutte le lavorazioni da uno stato a quello successivo, velocizzando notevolmente il processo che altrimenti sarebbe manuale e per singola lavorazione.
  • Task custom: permette di creare script riutilizzabili per l’esecuzione di logiche a piacere; un esempio è l’esecuzione di test automatici a seguito di un rilascio che ne certifichi il successo o la necessità di eseguire un rollback.

Per la realizzazione di queste attività è stata fondamentale sia la nostra conoscenza del linguaggio TypeScript che delle librerie React, utilizzate per lo sviluppo grafico delle varie componenti.

Microsoft mette a disposizione una libreria di componenti da integrare nel suo web UI framework e un numero elevato di servizi REST da utilizzare: il resto è in mano alla fantasia dello sviluppatore, con gli opportuni limiti di customizzazione necessari per garantire la sicurezza del servizio.

Tramite questa personalizzazione, l’utente è in grado di velocizzare e automatizzare operazioni che altrimenti richiederebbero un numero elevato di risorse in termini di persone e di tempo.

Le applicazioni sono sviluppate seguendo le indicazioni e le necessità dell’utilizzatore finale, fornendo uno strumento completamente “dedicato”, come un sarto che realizza un completo su misura: è un esempio molto calzante di cosa significa rendere tutte le possibilità a portata di click.

Personalmente è stato molto stimolante poter mettere mano a un sistema tra i più utilizzati a livello globale, con l’umiltà necessaria per imparare e la presunzione di volerlo in qualche modo “migliorare”.