Introduzione ad Azure DevOps Services

Completato

Ogni progetto creato in Azure DevOps è dotato di una serie di servizi. È possibile usare tutti i servizi o scegliere solo quelli che si adattano al workflow specifico. Questi servizi includono pianificazione, controllo della versione, test e strumenti di compilazione e distribuzione.

Azure Boards

Azure Boards è uno dei servizi Azure DevOps più usati. Azure Boards consente di pianificare e monitorare il lavoro e di discuterne con i membri dei team. L'aspetto dipende dal processo dell'elemento di lavoro selezionato durante la creazione del progetto.

Screenshot di un esempio di bacheca di Azure DevOps.

In Azure Boards sono presenti bacheche e backlog Kanban per supportare i processi di sviluppo agile. È un semplice strumento di pianificazione sprint con trascinamento della selezione. Tutte le diverse attività possono essere raggruppate insieme in una panoramica backlog e disporre di una priorità assegnata dal proprietario del prodotto.

Azure Repos

Azure Repos è il servizio usato per il controllo della versione. È possibile usare Git o il controllo della versione di Team Foundation. Se si sceglie Git, è possibile ospitare un numero illimitato di repository. Ogni estensione AL sviluppata può essere un repository Git separato. È possibile creare un progetto per un particolare cliente e avere più repository Git in un progetto per ospitare tutte le diverse estensioni sviluppate per il cliente.

Nella sezione Azure Repos è disponibile una panoramica di tutti i file, i commit, i rami e le richieste pull ospitati.

Screenshot della sezione Azure Repos con panoramica.

Con una richiesta pull, è possibile richiedere la convalida del codice da parte di altri sviluppatori del team prima che il codice venga accettato. Può trattarsi di un trigger per avviare una compilazione automatizzata.

Screenshot delle richieste pull di Azure Repos.

Azure Repos supporta anche webhook e API REST. Di conseguenza, è possibile automatizzare le convalide o reagire agli eventi nel repository.

Azure Pipelines

Azure Pipelines è il servizio necessario per configurare test, compilazioni e distribuzioni automatizzati. Le pipeline funzionano con agenti di compilazione. Tali agenti possono essere ospitati come servizio cloud, e quindi non è necessario investire in infrastruttura, oppure è possibile eseguirli sulla propria infrastruttura. Se è necessario accedere alle risorse locali o scegliere come target un server Business Central in locale, gli agenti di compilazione locali sono certamente la scelta migliore. Con gli agenti di compilazione locali, inoltre, non sono previsti limiti alla durata dell'esecuzione di un agente.

Un agente di compilazione è un file eseguibile di piccole dimensioni che può essere installato su uno o più server o su desktop. È possibile raggrupparli in un pool di agenti. Di conseguenza, ogni volta che si avvia una compilazione, verrà eseguita la ricerca del successivo agente di compilazione disponibile nel pool selezionato. In questo modo è possibile eseguire più compilazioni contemporaneamente su computer diversi.

Screenshot della pagina di compilazione di Azure Pipelines.

Azure Pipelines supporta linguaggi di programmazione differenti e può sviluppare compilazioni con i contenitori Docker. Per Business Central, sarà necessario usare molti script di PowerShell per configurare un processo di compilazione automatizzato. Ciò include l'acquisizione del codice sorgente da un repository Git, l'uso del compilatore AL e la creazione di un file app. Azure Pipelines è anche il servizio usato per configurare i test automatizzati. Unit test e test di integrazione fanno parte dell'estensione AL (o hanno una dipendenza). Tali test sono compilati ed eseguiti in una pipeline di compilazione. Se un test ha esito negativo, anche la compilazione ha esito negativo.

Anche se si usa GitHub come sistema di controllo della versione, è possibile eseguire l'integrazione con Azure Pipelines per configurare un sistema di compilazione automatizzato. Una definizione di compilazione può essere creata con file YAML. Un file YAML è un file di testo che definisce tutti i diversi passaggi in un processo di compilazione.

Esempio di screenshot del file YAML di compilazione.

Azure Test Plans

Azure Test Plans consente di ottenere gli strumenti per configurare una soluzione di test manuale. È possibile definire un processo dettagliato di test che guiderà i tester del team nel controllo di ogni singolo passaggio del flusso di lavoro dell'applicazione. Il servizio può essere usato per testare applicazioni Web e desktop.

Ogni passaggio viene registrato in modo che, quando si verifica un errore, sia possibile creare un elemento di lavoro di tipo bug con un elenco di tutti i passaggi che il tester ha eseguito per ottenere l'errore specifico. Questo servizio è un servizio a pagamento extra o fa parte di una sottoscrizione a Visual Studio Enterprise.

Screenshot di Azure Test Plans.

Azure Artifacts

Azure Artifacts fornisce un servizio di gestione pacchetti completamente integrata. Il servizio può essere facilmente inserito in Azure Pipelines. Per applicazioni .NET in Visual Studio, si ha la possibilità di scaricare pacchetti esistenti, ad esempio per elaborare immagini, connettersi a piattaforme di social media, generare codici a barre e così via. Queste funzioni possono essere scritte tutte in modo autonomo, ma è possibile anche integrare pacchetti esistenti. La maggior parte delle volte sono scritte dal fornitore ufficiale dei servizi. I pacchetti sono archiviati in servizi di gestione pacchetti come NuGet.

Screenshot della pagina dei pacchetti di Azure Artifacts.

Con Azure Artifacts è possibile configurare il proprio servizio di gestione pacchetti e ospitare il proprio codice che può essere riutilizzato in altri progetti dell'organizzazione. È possibile creare un'estensione di Business Central che convaliderà le informazioni sulla licenza per tutte le estensioni dei componenti aggiuntive. Anziché riscrivere il codice, è possibile ottenere il pacchetto da Azure Artifacts durante le pipeline di compilazione.