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
Utilizzare la versione generica di EntityTypeConfiguration in Entity Framework Core
Creazione di plugin per Tailwind CSS: espandere le funzionalità del framework dinamicamente
Evitare la command injection in un workflow di GitHub
Eseguire query manipolando le liste contenute in un oggetto mappato verso una colonna JSON
Eseguire query manipolando liste di tipi semplici con Entity Framework Core
Configurare dependabot per aggiornare le dipendenze di terze parti con GitHub Actions
Utilizzare Tailwind CSS all'interno di React: installazione
Migrare una service connection a workload identity federation in Azure DevOps
Evitare il flickering dei componenti nel prerender di Blazor 8
C# 12: Cosa c'è di nuovo e interessante
Evitare (o ridurre) il repo-jacking sulle GitHub Actions
Usare Refit e Polly in Blazor per creare client affidabili e fortemente tipizzati
I più letti di oggi
- Nuova versione per jQuery e prima alpha per jQuery Mobile
- Paginare i risultati con QuickGrid in Blazor
- Utilizzare il trigger SQL con le Azure Function
- Eliminare una determinata proprietà da un oggetto JavaScript
- Ottimizzare le performance delle collection con le classi FrozenSet e FrozenDictionary
- Modern web apps with Blazor