Version 2.1 Released (TFS 2012)

The NuGet project was designed to provide developers with a standardized mechanism for sharing and installing code, assemblies, etc. The creation of the packages is pretty straightforward to do in a manual way but wouldn’t it be nice if it was all automated? And, not just the packaging, the versioning and deploying should be automated as well. This way, you as the developer can create a library, build it, deploy it and immediately test it.

This is the goal of NuGetter - it is an extension to the Team Foundation Server 2012 build process that will perform all of the necessary versioning, packaging and deployment functions in a customizable and completely repeatable way.

NuGetter does not require but works better and provides more robust build features when used with TfsVersioning build versioning manager (CodePlex Project)

The current version of TFS NuGetter is 2.1 and has been tested with NuGet version 2.2. 

 

Note: Version 2.2 is available (beta): Supports TFS as a Service Builds

Capabilities/Features: 

  • Includes all phases of the build process: compile, version, pre-package, package, push/deploy and publish - managed within TFS automated build
  • NuGet Package and deploy features for a simple to an extremely complex library package
  • Single or multiple solution builds
  • Single or multiple configuration builds
  • Manage versioning of the assemblies coordinated or separately from the NuGet package
  • Create a package, create and push a package or create a package and push and publish to a NuGet gallery
  • Build and have immediate access to the package in a test environment through inherent "Push/Deploy" feature
  • Push locations include the NuGet Gallery, a local directory, network share or web site
  • Use in any combination of manual, continuous integration or scheduled builds
  • Ability to execute PowerShell scripts prior to packaging to organize the files (e.g., lib, tools, content) for the NuGet packaging process (pre-packaging)
  • No requirement for NuGet.exe to be installed on the build machine – NuGet.exe can be held in source control and deployed only at the time of the build
  • All of the above is managed through the standard TFS Build Workflow process
  • Remotely store/manage package information such as version numbers, API keys, and NuSpec manifest files
  • All of this is managed via a Team Foundation Server automated build process
  • Includes updated build process template "NuGetterMultiPkgBuildVersionedTemplate20.xaml" to work with the TfsVersioning V2.0 extended versioning capabilities.
  • Build Number Prefix introduced in TfsVersioning has been added to NuGetter to allow identification of similar builds (i.e., daily, CI, manual, etc.)

 

 NuGetter Build Process

Build Definition Sample:

 image

Last edited Jul 28, 2013 at 6:03 PM by marknic, version 30