57 people following this project (follow)

Project Description

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 2010 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 1.2.0.0 and has been tested with NuGet versions 1.3, 1.4 and 1.5.  Preliminary testing of the latest NuGet version 1.6 has not discovered any issues but testing continues.

NuGet Version 1.5 introduced new XML namespaces within the NuSpec file.  This caused a problem with version 1.1.0.0 of NuGetter.  That issue has been resolved with version 1.2.0.0.  Note: This update/"fix" effects the custom activity assembly only - no changes or updates to existing TFS build templates is necessary.

 

Capabilities/Features:  

  • Includes all phases of the build process: compile, version, pre-package, package, push/deploy and publish - managed within TFS 2010 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 "NuGetterVersioningBuildTemplate15.xaml" to work with the TfsVersioning v1.5 extended versioning capabilities.

 

 NuGetter Build Process

Build Definition Sample:

 NuGetter Build Definition Example

 

 

Last edited Dec 21 2011 at 7:03 PM by marknic, version 25