-
GitVersion is driving me to commit suicide trying to set up an pipeline, that can build NuGet artefacts and push them to Nuget with unique versions without having to tag and manually trigger the pipeline every time. What I want is a simple pipeline and GitVersion configuration that with each merge/commit creates a unique version that can be used with nuget.org or azure devops artefact feeds. For example dev:
PRs:
release/0.1.0
dev
hotfix on 0.1.0
etc. manually tagging is out of question, as in early development there will be a lot of beta and rc releases and it's very error-prone. I spent like 2 weeks already trying to get it to work. Also a side question: Why does the verison bump work with workflow: GitFlow/v1
branches:
develop:
label: beta
release:
label: rc
# Ignore this one, it was my attempt to try to build the releases from tag trigger
tags:
regex: '^v'
is-release-branch: true
label: ''
bugfix:
label: '{BranchName}'
increment: Inherit
regex: ^bugfix(es)?[/-](?<BranchName>.+)
source-branches:
- main
- release
- support I tried to skip the pushing during the PR/branch build and have it trigger when a new tag is created, but that worked even worse as the tag gets checked out in detached mode and completely messes up the versioning (it attempts to use the escaped SourceBranchName turning v0.1.0-rc.1 into As for why, well I have 2 dozen of .NET libraries and need to have the beta and rc builds available in nuget so I can test it in the main application and only promote a library to stable when its been tested enough and want to avoid having like 400 versions of a package in a nuget feed (which is the case in previous project) which makes it very hard to figure out which libs are stable and which not, when there's no proper pre-release tags (the old projects used mainline versioning, so they bumped patch version with every commit) |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment
-
Please see the GitFlow Examples which illustrates the branching and merging strategies sufficient for most use cases. The build in template for GitFlow/v1 can be found here. Generally if you want to always have a new semantic version (as pre-release version) for each commit you just need to specify the deployment mode to The documentation says:
vs.
To your question:
This is because in GitFlow/v1
Happy branching! |
Beta Was this translation helpful? Give feedback.
Please see the GitFlow Examples which illustrates the branching and merging strategies sufficient for most use cases. The build in template for GitFlow/v1 can be found here.
Generally if you want to always have a new semantic version (as pre-release version) for each commit you just need to specify the deployment mode to
ContinuousDelivery
for the specific branch.The documentation says:
Manual Deployment
vs.
Continuous Delivery