Nello script precedente abbiamo visto come possiamo fare riferimento ad un tool come GitVersion, fornito da GitTools per calcolare automaticamente un numero di versione in base ai commit, al branch, ai tag presenti e così via. In questo modo, il numero di versione viene calcolato centralmente dal server, ovvero dalla pipeline che esegue il nostro codice, così che non ci si debba preoccupare di installare add-on particolari localmente.
Calcolato il numero di versione con gli step visti nello scorso script, ora non ci rimane altro che applicarlo al codice sorgente, così che questo venga rilasciato e versionato correttamente. Questa operazione è un po' più complessa rispetto al calcolo, non tanto tecnicamente, ma da spiegare poichè richiede un flusso diverso in base al processo che vogliamo indirizzare. Supponendo di avere un repository con una applicazione .NET Core (almeno un csproj), possiamo fare riferimento a questo codice:
- task: Assembly-Info-NetCore@2 displayName: Set assembly info inputs: Path: '$(Build.SourcesDirectory)' FileNames: '**/*.csproj' InsertAttributes: true FileEncoding: 'auto' WriteBOM: false VersionNumber: '$(AssemblySemVer)' FileVersionNumber: '$(AssemblySemVer)' InformationalVersion: '$(FullSemVer)'
Il task di riferimento non è built-in di Azure DevOps ma lo si trova facilmente e gratuitamente nel marketplace. Una volta inserito nella pipeline, dovremo solamente andare a specificare alcuni parametri come il percorso in cui si trova il codice sorgente (con default impostato sulla variabile d'ambiente della SourcesDirectory) e tutti i file che vogliamo versionare (in questo caso, tramite wildcard referenziamo tutti i csproj): prendendo in input anche le variabili di AssemblySemVer e FullSemVer, il task andrà a cercare nei file di progetto indicati per applicare i tag VersionNumber, FileVersionNumber e InformationalVersion corrispondenti le versioni recuperate dal task di GitTools.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Eliminare una project wiki di Azure DevOps
Recuperare automaticamente un utente e aggiungerlo ad un gruppo di Azure DevOps
Usare i servizi di Azure OpenAI e ChatGPT in ASP.NET Core con Semantic Kernel
Rinnovare il token di una GitHub App durante l'esecuzione di un workflow
Fissare una versione dell'agent nelle pipeline di Azure DevOps
Creare una libreria CSS universale: Clip-path
Aggiornare a .NET 9 su Azure App Service
Recuperare le subissue e il loro stato di completamento in GitHub
Abilitare automaticamente il force push di un gruppo su Azure DevOps
Effettuare il log delle chiamate a function di GPT in ASP.NET Web API
Utilizzare una qualunque lista per i parametri di tipo params in C#
Gestione dei nomi con le regole @layer in CSS
I più letti di oggi
- The Agentic Day - Milano
- Tutorial LINQ
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- Invocare trigger non HTTP delle Azure Function durante lo sviluppo
- Adattare i contenuti per il mobile con il meta-tag ViewPort e HTML5
- Usare i settings di serializzazione/deserializzazione di System.Text.Json di ASP.NET all'interno di un'applicazione non web