Nuget advice - use Teamcitys or push to own?

Answered

Hi,

We have some concerns and would like some advice. We are using TC 10.x. 

We are going to use nuget packages for internal tools (instead of Git submodules). However we have builds from TC that is fetched by Octopus Deploy - that are not "tools" that developers can/should add from Visual Studio (e.g. a website). I could make those artifacts as ZIP files but that doesn't feel right? 

One other concern is that we need the nuget packages build for release (the tools used in Visual Studio) to live 4ever. However 90% of our build artifacts are pre-releases as part of regular CI. And I don't want to have those around 4ever or it would quickly fill up several hundred GB of waste...

Another approach would be to push these tools to another internal Nuget feed (e.g. using this approach). Are there some examples around on how to accomplish this, either using a script that pushes from TC to Nuget feed - or perhaps a custom build step? 

How do others deal with this scenario? Any recommendations?

/Werner

 

 

 

0
2 comments
Avatar
Permanently deleted user

Hi,

We have a separate build step that deals with publishing using the built-in NuGet Publish runner type. Depending on the package and how it needs to be distributed we might opt to specify the NuGet version explicitly, but otherwise this runner type is pretty straight forward.

This build configuration is not part of the CI build, as we want to explicitly determine the moment when a release get's published, so for now it's a separate step, but we've also been toying with using specific commit messages to initiate this step (e.g. single commit message PUBLISH triggers the build step).

Main thing to consider is the API key to authorize the publish on the destination Package Source and making sure your destination folder where the packages are placed is configured, as an example our file mask is: nuget-packages/*.nupkg.

Additionally we have 2 feeds for distribution, the TeamCity feed is used for alpha and beta packages, and the internal company feed is used for release and master builds (The accessed feed is controlled with the [_] Prerelease check in NuGet Package Manager).

Hope this helps,

1
Avatar
Permanently deleted user

Jos, excellent. This is what we will copy :)

Thanks.

0

Please sign in to leave a comment.