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
Path addizionali per gli asset in ASP.NET Core MVC
Estrarre dati randomici da una lista di oggetti in C#
Supporto ai tipi DateOnly e TimeOnly in Entity Framework Core
Creare una custom property in GitHub
Generare velocemente pagine CRUD in Blazor con QuickGrid
.NET Aspire per applicazioni distribuite
Garantire la provenienza e l'integrità degli artefatti prodotti su GitHub
Autenticazione di git tramite Microsoft Entra ID in Azure DevOps
Documentare i servizi REST con Swagger e OpenAPI con .NET 9
Eseguire query in contemporanea con EF
Eseguire query per recuperare il padre di un record che sfrutta il tipo HierarchyID in Entity Framework
I più letti di oggi
- Eseguire query in contemporanea con EF
- Fissare una versione dell'agent nelle pipeline di Azure DevOps
- .NET Aspire per applicazioni distribuite
- Utilizzare Locust con Azure Load Testing
- Autenticazione di git tramite Microsoft Entra ID in Azure DevOps
- Repaint, Reflow e Compositing: Come Funziona il Rendering nel Browser
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!