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
Rinnovare il token di una GitHub App durante l'esecuzione di un workflow
Bloccare l'esecuzione di un pod in mancanza di un'artifact attestation di GitHub
Triggerare una pipeline su un altro repository di Azure DevOps
Configurare il nome della run di un workflow di GitHub in base al contesto di esecuzione
Garantire la provenienza e l'integrità degli artefatti prodotti su GitHub
Recuperare App Service cancellati su Azure
Combinare Container Queries e Media Queries
Eliminare una project wiki di Azure DevOps
Creare una custom property in GitHub
Eseguire una ricerca avanzata per recuperare le issue di GitHub
Configurare e gestire sidecar container in Azure App Service