We’ve got a CI configuration automatically deploying to Dev on checkin. TeamCity triggers on a VCS checking, builds the NuGet package into its own NuGet repository, then calls OD to create a release (which is set to auto-deploy on completion).
The issue we have is that OD always tries to deploy the previous version from TC, and the TC logs show OD reporting that the latest version is indeed the previous one.
It appears that TCs NuGet feed is slow on the uptake, so we need to either pause for an indeterminate length of time before asking OD to handle the new version, or have OD only perform a deploy upon detection of a new version.
Is this a know issue, and is there a suggested workaround? For now we’re having to do manual releases and carefully check version numbers.
TC: 9.0.2 (build 32195)
OD: 2.6.1.796
Thanks for getting in touch! TeamCity doesn’t publish to it’s own repository until all build steps are complete. So even if the package is created, if you (within the same build configuration) then create-release we don’t have access to the latest package as it isn’t in your feed until after this build.
You need two separate build configurations, one to build and publish the package, the second to then create the release.
It doesn’t matter if there is a pause or anything as it still won’t release the package to its feed until all steps are complete.
That’s excellent, thank you.
It’s only today when we went back through the logs that we discovered this issue, but it does explain some odd behavior we experienced in the past few weeks with un-rolled-out changes.
We’ve tried to track the versions of nuget packages released by adding the version information into variables and substituting those into the web.config, but that’s a question for another post…