I have a custom build-process that uses a combination of NAnt, Maven Ivy, CruiseControl.Net and a few others to manage the dependencies and handle the continuous integration build process for our projects. And it works great, in all honesty.
One relatively important part in-particular for us, is the ability for us to get an exact version of any given dependency (.dll, .xml. .whatever) from our shared Ivy repository is absolutely paramount to our work, due to different applications requiring different versions of a particular library for different reasons/purposes.
However - I am currently looking into Visual Studio Team Services (http://visualstudio.com) and am experimenting my way along the code check-in/auto-build process, except I cannot see where or how I manage my external/third-party dependencies.
Using Maven's Ivy dependency management/configuration tool, the process is pretty-much flawless and have so much faith in it - what is the Team Services equivalent to this?
My best findings online after hours of searching seems to suggest the NuGet be used for this, and make custom packages for each of my dependencies, but then where/how are these stored and accessed by the Team Services continuous integration build process? Can I store my packages in a NuGet server within Azure? Can I be sure that this is used only by myself?
The best SO posts that I've found so far are:
...but these still leave me unanswered and maybe I am right off track with this, but need to understand the dependency management process that TFS will follow.
TFS and Visual Studio don't have a dependency management tool built-in like Maven Ivy. NuGet is indeed the closest you get, but it's all configured at the solution level and checked into source control. You even need to run your own NuGet server, since TFS doesn't ship with one (unless you want to push them to a public repository, which you'd normally not want).
There are a number of 3rd party solutions that, but the out-of-the-box features simply come down to:
.12.xaml
versions are very simple and straight forward, but you can change the template to do just about anything you want. Grabbing specific dependencies from anywhere could certainly be one of the options. You could also let the Build Process template integrate into Maven Ivy if you'd want to.As for 3rd party options, TeamCity was mentioned, though it adds a NuGet server, which is pretty easy to host yourself. As might others, but discussing which 3rd party solution might be better than others is against StackOverflow policies.
Collected from the Internet
Please contact [email protected] to delete if infringement.
Comments