I am trying to convert my finalbuilder only file to Continua CI with several finalbuilder projects. 1 to create the setup package, 1 to create the nuget packages. All the other logic can be extracted except for 1 thing: determining the version.
The versioning requires some special logic because we mainly release versions via NuGet. Since NuGet does not fully support semver, we need to do some strange hacks. Anyway, the versioning of our nightly builds is always different from our official deployments because we need to make sure that we are always a version lower. For example:
Release version 3.7 (official)
Nightly builds for 3.8 will contain 3.7.[yyMMddHHmm]-beta (but actually is a beta for 3.8)
An idea based on using GitFlow:
1 option would be to read the "tag" from the master branch. A beta is always that version (latest official version) + [yyMMddHHmm]-beta. When running an official build, we should read the value from some place (or just ask the user for a version?). Would something like this be possible in Continua CI?
We’ll have to give this some thought. What happens when two builds of the same configuration are running, which one wins? What data types, what sort of information are we talking about?
well, i think the order problem can be solved because you already have an order: the build number. so the highest build number wins. for sure, it can happen that the first invoked build is slower than the second one and the second one will finish first. in this case i would say that the values of the first build are not stored anymore because a newer build already updated the information (don’t know your internals).
well, i my case, my goal is to store values (strings, numbers, … in fact: variables) within configuration scope across builds. lets say “persistent variables”.