Logo

Maarten Balliauw {blog}

ASP.NET, ASP.NET MVC, Windows Azure, PHP, ...

About the author

Maarten Balliauw is currently employed as a Technical Evangelist at JetBrains. His interests are mainly web applications developed in ASP.NET (C#) or PHP and the Windows Azure cloud platform.
More about me More about me
Send mail E-mail me


ASP.NET MVC Quickly Pro NuGet Subscribe to my RSS feed Follow me on Twitter! View Maarten Balliauw's profile on LinkedIn
Maarten Balliauw - MVP - Most Valuable Professional
Maarten Balliauw - ASPInsider

Search

Archive

Disclaimer

The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.

© Copyright Maarten Balliauw 2013


Creating your own private NuGet feed: MyGet

myget - NuGet as a serverEver since NuGet came out, I’ve been thinking about leveraging it in a corporate environment. I've seen two NuGet server implementations appear on the Internet: the official NuGet gallery server and Phil Haack’s NuGet.Server package. As these both are good, there’s one thing wrong with them: you can't be lazy! You have to do some stuff you don’t always want to do, namely: configure and deploy.

After discussing some ideas with my colleague Xavier Decoster, we decided it’s time to turn our heads into the cloud: we’re providing you NuGet-as-a-Service (NaaS)! Say hello to MyGet.

MyGet offers you the possibility to create your own, private, filtered NuGet feed for use in the Visual Studio Package Manager.
It can contain packages from the official NuGet feed as well as your private packages, hosted on MyGet. Want a sample? Add this feed to your Visual Studio package manager: http://www.myget.org/F/chucknorris

But wait, there’s more: we’re open sourcing this thing! Feel free to fork over at CodePlex and extend our "product". We've already covered some feature requests we would love to see, and Xavier has posted some more on his blog. In short: feel free to add your own most-wanted features, provide us with bugfixes (pretty sure there will be a lot since we hacked this together in a very short time). We're hosting on WIndows Azure, which means you should get the Windows Azure SDK installed prior to contributing. Unless you feel that you can write code without locally debugging :-)

Chuck Norris Feed

Feel free to go ahead and create your private feed. Some ideas (more at Xavier's site):

  • A feed containing only the packages you or your company often use
  • A feed containing only your (open-source?) project and its dependencies
  • A feed containing just a few packages that you want to use for a certain project: tell your developers to just install them all

Bugs and feature requests? Feel free to post them as a comment below. Once we release the sources, I’ll kick your mailbox with a request to implement the stuff you proposed. Seems fair to me :-)

Enjoy http://myget.org!


Categories: ASP.NET | Windows Azure | C# | General | ICT | MEF | MVC | Projects | Software

Comments (9) -

Stif Belgium |

Tuesday, May 31, 2011 10:50 AM

Stif

Great initiative guys!

There's potential here. One quick question here:

* How private is my private nuget feed?

It seems I can login by just clicking login. How can my nuget feed become password protected so that only our company (my collegues) can access our packages. Something in lines of what the people at devexpress are providing.

I think for companies to start using this, you'll need to provide guarantees that private feeds are really private and that the packages in them will never be available to non-authorized persons.


Thumbs up for this initiative, it enables my to be lazy Wink

maartenba Belgium |

Tuesday, May 31, 2011 10:57 AM

maartenba

Currently, it's private "by obscurity", that means if someone knows or finds the URL of your feed, it's public.
I'm not sure if NuGet currently supports an authentication method? What is DevExpress doing on that field? Do they have basic auth or something in place?

(login on the website works because you were probably logged in through Windows Live already, we just use Windows Live for website logins)

Xavier Decoster Belgium |

Tuesday, May 31, 2011 11:04 AM

Xavier Decoster

Great comment Stif and that's exactly what I think would be a "killer feature" for MyGet.
Sounds like you want to vote up this feature on http://myget.codeplex.com/workitem/3 ? Smile

"Private by obscurity" is because we were lazy (read: lacking lots of time), but we hope to get this thing going driven by and for the community.

Stif Belgium |

Tuesday, May 31, 2011 12:16 PM

Stif

What devexpress is doing you can see in Scott Hanselmans talk about NuGet on Tech-Ed (starting from minute 42:20):
channel9.msdn.com/.../DEV338

I actually tought they we're using authentication, but after re-viewing the video it turns out that it's also "by obscurity" with the difference that you can generate new urls based on tokens.

I'm also not sure if it's supported or not but maybe it wouldn't be a bad idea for NuGet to start supporting authentication for feeds.

maartenba Belgium |

Tuesday, May 31, 2011 1:05 PM

maartenba

NuGet does not support those things at this time. Feel free to upvote this one: http://nuget.codeplex.com/workitem/366

Frank van Eykelen Netherlands |

Tuesday, May 31, 2011 4:15 PM

Frank van Eykelen

Great! Hosting our company's internal Nuget package source on a networked fileserver just didn't feel right.

I voted +1 for authentication.

maartenba Belgium |

Wednesday, June 01, 2011 7:12 AM

maartenba

The NuGet work item for authentication has been kicked up Smile http://nuget.codeplex.com/workitem/366
I expect auth in an upcoming NuGet release, and we'll follow afterwards.

putrtek United States |

Tuesday, June 07, 2011 4:54 PM

putrtek

Ok, so what's the trick to Adding Packages from the official NuGet feed? I've tried adding 'elmah', 'log4net' and 'MvcScaffolding' All give me the error 'The package name you entered does not seem to exist...' I'm copying and pasting the name directly from my existing packages.config file. What am I doing wrong?

putrtek
putrtek@gmail.com

maartenba Belgium |

Tuesday, June 14, 2011 10:10 AM

maartenba

There should be an "autocomplete" working, try entering the first few characters of a package name and wait for one second.

Pingbacks and trackbacks (5)+

Comments are closed