Teamcity Nuget feed

Hi folks,

We recently upgraded from 3.3.6 to 3.4.8 and our integration with out Teamcity nuget feed stopped working. When I add the nuget server and click test, I get this error:

The V2 feed at ‘http://teamcity.xxx.ie/guestAuth/app/nuget/v1/FeedService.svc/Search()?$filter=IsAbsoluteLatestVersion&searchTerm=‘bill’&targetFramework=‘unsupported’&includePrerelease=true&$skip=0&$top=10’ returned an unexpected status code ‘404 Not Found’.

We have a test instance of Octopus still running 3.3.6 and it’s able to connect to the same TeamCity server with no problems.

We’re running Teamcity 8.1.4 so perhaps it’s too old and not supported by Octopus anymore?

Thanks,
Mark

Hi Mark,

Thanks for reaching out. Is there any chance you can try adding the following URL as an external feed and test it out?

http://teamcity.octopusdeploy.com/guestAuth/app/nuget/v1/FeedService.svc/

This comes from a shared TeamCity we have that requires no Username\Password. Its from a fairly up to date TeamCity (9.1.16) and it should help us know if this is happening because of your outdated TeamCity instance or not.

I tested that feed from Octopus 3.4.8 and it worked.

Thanks,
Dalmiro

We have the same error and are using TeamCity 8.1.5. The error occurred as soon as we upgraded to Octopus 3.4 (3.4.7 and 3.4.12 on two different systems). A third system was not upgraded and still works (3.3.16). I suspect this is due to the latest Octopus version not supporting NuGet v1.

This link explains how to configure TeamCity to use NuGet v2:

However, we would really like to avoid a major upgrade of our TeamCity servers and agents just to support NuGet v2. Dalmiro, maybe you can check to see what version is enabled on your TeamCity server.

Please let us know if any update might be made to Octopus to support the older feed version.

Thanks,
Marske

Hi Mark and Marske,

I’ve been doing some investigating based on your conversation with Dalmiro so far.

We tested Octopus 3.4 against our own TeamCity NuGet feeds before we shipped - and they worked - but we were on TeamCity 9.1.x and just works in its default configuration.

TeamCity 8.1.x

I’ve tested with TeamCity 8.1.4 and had the same experience as you when running the feed test.

I also fail when attempting to deploy: The V2 feed at 'http://localhost:8090/guestAuth/app/nuget/v1/FeedService.svc/FindPackagesById()?id='OctoFX.Core'' returned an unexpected status code '404 Not Found'.

TeamCity 9.0.x

I upgraded to TeamCity 9.0 and the 404 error disappears, but the search fails to find any matching packages. I configured internal.properties to teamcity.nuget.api.version = v2 which didn’t seem to make any difference.

On the bright side, now when I attempt to deploy the package is acquired successfully and the deployment succeeds.

Summary

I think the best way for you to move forwards right now is to upgrade to TeamCity 9.0+ to get your deployment working successfully. (We do have this issue regarding testing external feeds: https://github.com/OctopusDeploy/Issues/issues/2656)

Sadly this has come as a surprise to us. Our testing showed Octopus 3.4 is still compatible with TeamCity NuGet feeds, but that only seems to be the case for certain newer versions of TeamCity.

Could you answer these questions which will help us figure out our next steps:

  1. This specific error is only for the “test” feature. Can you still deploy OK or do you have same error I mentioned above when I tried to deploy?
  2. Are you willing to upgrade to TeamCity 9.0+? If not, what is your concern for upgrading?

I’ll wait for your response - it will help us decide what the next steps are on our side.

Hope that helps!
Mike

Hi Mike.

Sorry for the late response. We are hesitant to upgrade TeamCity (probably to the latest 10.0 version) because we have about 25 agents and a lot of projects using them. We would have to do a mock upgrade and test all the builds.

For now, we wrote a PowerShell script to push specific packages from TeamCity to the Octopus server’s built-in NuGet feed, and changed the deployment steps there to use the built-in feed.

So we have a workaround in place, and will upgrade Team City once we can put resources toward testing that upgrade.

I think you should include details in your release notes about needing TeamCity 9.0, or really 9.1 for all of the functionality, when using its NuGet feed. Thanks for confirming via your testing!

Thanks,
Marske McEntyre
Senior Software Engineer, Product Development
Digital Banking Group
Fiserv

Hi Marske,

Thanks for getting back to me. I’ve added those recommendations to the release notes for 3.4.x and our upgrade guide. I’ve also added a recommendation to switch to the built-in repository since it offers better retention policy control as well.

Happy Deployments!
Mike