Concludiamo questa serie dedicata alla creazione automatica delle note di rilascio con Azure DevOps parlando di come gestire le note una volta create, considerando la pipeline e gli script visti negli episodi precedenti. Come avevamo annunciato, abbiamo creato con successo un file di markdown contenente le release notes adatto per la pubblicazione nella Wiki: questo è comodo per tenere tutto a portata di mano all'interno del team, ma anche per poter esportare facilmente in altri formati (tipo PDF), a persone esterne al team di sviluppo.
Il primo passaggio da fare consiste nel convertire (se non è già stato fatto) la Wiki in "Wiki as Code", così da avere un repository git per la Wiki. In questo modo potremo intervenire dalle pipeline per caricare e modificare file esattamente come facciamo normalmente sul repository contenente il codice sorgente delle applicazioni, ovvero tramite i comandi di git.
Prima di vedere i comandi, però, dobbiamo assicurarci che la pipeline faccia il checkout di entrambi i repository, quello corrente dove la pipeline risiede e quello della Wiki appena creato.
steps: - checkout: self - checkout: git://MyTeam/Wiki@main persistCredentials: true
Chiaramente il nome del progetto, del repository contenente la Wiki e il nome del branch dipende dalla configurazione che si è scelto. A questo punto non dobbiamo fare altro che copiare le release notes generate localmente nella folder che contiene la Wiki:
Copy-Item $(Build.SourcesDirectory)/Changes.md $(Build.SourcesDirectory)/Wiki/Release-notes/Changes.md
Poichè il file poi dovrà essere univoco nel tempo (se lanciamo la pipeline ogni volta che eseguiamo una nuova release), converrà sostituire il nome con un parametro per renderlo dinamico (es. il numero di versione oppure la data).
A questo punto dobbiamo configurare git per poter fare il push delle modifiche nel repository della Wiki. Questo è possibile impostando dei parametri "finti" come lo username e la mail. Il push vero e proprio a livello di remote sarà possibile poichè avremo impostato al momento del checkout la proprietà persistCredentials per la Wiki.
cd $(Build.SourcesDirectory)/Wiki/Release-notes git config --global user.email "release-diff@myteam.com" git config --global user.name "MyTeam Bot"
Infine, possiamo lanciare i soliti comandi di git per fare un commit e il successivo push per trovarcelo sul remote (e quindi sulla Wiki):
git add . git commit -m "Azure DevOps wiki updated" git push origin HEAD:main --force
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Usare le variabili per personalizzare gli stili CSS
Short-circuiting della Pipeline in ASP.NET Core
Supportare il sorting di dati tabellari in Blazor con QuickGrid
Code scanning e advanced security con Azure DevOps
Sostituire la GitHub Action di login su private registry
Utilizzare QuickGrid di Blazor con Entity Framework
Definire stili a livello di libreria in Angular
Load test di ASP.NET Core con k6
Utilizzare un service principal per accedere a Azure Container Registry
Gestire domini wildcard in Azure Container Apps
Configurare dependabot per aggiornare le dipendenze di terze parti con GitHub Actions
Evitare (o ridurre) il repo-jacking sulle GitHub Actions
I più letti di oggi
- Microsoft annuncia Windows "TrustBridge"
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- Estrarre dati randomici da una lista di oggetti in C#
- Usare il colore CSS per migliorare lo stile della pagina
- Una attached property per accedere a NavigationService da ViewModel in Silverlight 4.0