Abbiamo già visto in passato (https://www.dopsitalia.com/script/44/Calcolare-Automaticamente-Numero-Versione-Repository-Pipeline-Azure-DevOps.aspx) come effettuare il versioning di un repository sfruttando una pipeline creata in Azure DevOps. Ma che cosa cambia se la pipeline è in realtà un workflow se il repository è su GitHub?
La risposta è piuttoto semplice e scontata: solo la sintassi. Di fatto, possiamo riutilizzare lo stesso identico tool, ovvero GitVersion, per recuperare automaticamente, in base allo stato del repository (considerando git tag, ref corrente, branch e così via) il numero di versione adatto sfruttando lo standard Semantic Versioning.
- name: Install GitVersion uses: gittools/actions/gitversion/setup@v0.9.7 with: versionSpec: '5.5.0' - name: Determine Version id: gitversion uses: gittools/actions/gitversion/execute@v0.9.7 with: useConfigFile: true
Se lo abbiamo a disposizione, possiamo anche referenziare un file di configurazione differente, così da specificare policy differenti per quanto riguarda le regole di validazione dei branch o di upgrade del numero di versione stesso. Oppure, possiamo crearne uno al volo:
- run: | cat << EOF > ./GitVersion.yml mode: Mainline branches: #{} release: regex: ^release(s)?[/-] mode: ContinuousDelivery tag: '' increment: Patch prevent-increment-of-merged-branch-version: true track-merge-target: false is-release-branch: false feature: regex: feature(s)?[/-] mode: ContinuousDeployment tag: feat increment: None prevent-increment-of-merged-branch-version: true track-merge-target: false hotfix: regex: (hotfix(es)?|config)[/-] mode: ContinuousDeployment tag: useBranchName increment: None prevent-increment-of-merged-branch-version: true track-merge-target: false pull-request: regex: (pull|pull\-requests|pr)[/-] mode: ContinuousDeployment tag: pr increment: None prevent-increment-of-merged-branch-version: true track-merge-target: false ignore: sha: [] merge-message-formats: {} EOF name: Create GitVersion configuration file shell: bash - name: Determine Version id: gitversion uses: gittools/actions/gitversion/execute@v0.9.7 with: useConfigFile: true configFilePath: GitVersion.yml additionalArguments: '/showConfig'
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 navigation property in QuickGrid di Blazor
Aprire una finestra di dialogo per selezionare una directory in WPF e .NET 8
Gestire eccezioni nei plugin di Semantic Kernel in ASP.NET Core Web API
Gestire il colore CSS con HWB
Eseguire query per recuperare il padre di un record che sfrutta il tipo HierarchyID in Entity Framework
Eseguire i worklow di GitHub su runner potenziati
Gestione dell'annidamento delle regole dei layer in CSS
Utilizzare il nuovo modello GPT-4o con Azure OpenAI
Fissare una versione dell'agent nelle pipeline di Azure DevOps
Aggiornare a .NET 9 su Azure App Service
Recuperare automaticamente un utente e aggiungerlo ad un gruppo di Azure DevOps
Creare una libreria CSS universale: Nav menu