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: trueSe 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
Analizzare il contenuto di una issue con GitHub Models e AI
Come automatizzare il download dei report di billing da GitHub Enterprise
Testare le API di Azure Resource Manager con API Playground
Gestione delle issue type con GitHub
DevSecOps per .NET: dalla teoria alla pratica
GitHub Copilot CLI in ambienti offline
Keynote .NET Conference Italia 2025
Gestione dei prompt file a livello di organizzazione aziendale in GitHub
Proteggere l'endpoint dell'agente A2A delle Logic App
Effettuare un clone parziale di un repository di GitHub
Integrare il Docker Model Runner in un workflow di GitHub
Planning & Specification Driven Development + GitHub Copilot


