We will have multiple regions/data centers in our Octopus environment (think Europe, South America, US, and China for now). Is there a way we can have a separate Nuget feed for each datacenter that is synced up with our US Nuget Feed. Or, more precisely, is there a way we can tell a tentacle where to get it’s nuget packages from?
Dev: Deploy Package Alpha v1.1 from US Nuget Feed to US datacenter
QA: Deploy Package Alpha v1.1 from US Nuget Feed to US Data Center
Production: Deploy Package Alpha v1.1 from US Nuget Feed to US data Center, from China Nuget Feed to China data center, and from South America Nuget Feed to South America data center
Essentially, we want the Nuget packages to be available for a production release well before release time so having it local to a data center is best vs. having to send it over the wire at release time.
Yes, assuming you are not using the built-in Octopus NuGet repository, this can be done.
First, in your package step definition, you can have Tentacle download the packages directly from the NuGet feed.
To use a different NuGet server per environment, there are two options.
- Use DNS so that when the Tentacle resolves the NuGet server, it gets a local server rather than a server that is far away. Or:
- Set up Octopus with multiple NuGet feeds, then bind the NuGet feed selected for the package step to a variable. You can define different values for the variable scoped to each environment.
If you need more details let me know and I’ll put together a walkthrough. Hope that helps,
Paul- Are you still willing to put together a walk through? I think this is what I need but here is my question: http://stackoverflow.com/q/25753489/451736
Specifically I’m interested in “You can define different values for the variable scoped to each environment.” Because in http://help.octopusdeploy.com/discussions/problems/16452-custom-binding-of-nuget-feed
I think you are saying that it would have to use an unscoped variable? But maybe I’m confused.