Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Publishing executables and websites with NuGet

I'm looking to standardize our publishing mechanism for libraries, executables and websites.

All the documentation on the NuGet website talks about publishing libraries, tools and source files but there does not seem to be any guidance on the directory structure when publishing fully packaged executables and websites.

Is there any guidance or existing convention on this?

If I were to make something up it would look like:

exe/net40/*.*
website/net40/**/*.*
like image 351
Garry Shutler Avatar asked Jan 18 '12 11:01

Garry Shutler


People also ask

What is NuGet used for?

NuGet provides the tools developers need for creating, publishing, and consuming packages. Most importantly, NuGet maintains a reference list of packages used in a project and the ability to restore and update those packages from that list.

How do I run NuGet EXE?

To use any command, open a command window or bash shell, then run nuget followed by the command and appropriate options, such as nuget help pack (to view help on the pack command). This documentation reflects the latest version of the NuGet CLI.


2 Answers

We are using Octopus Deploy by Paul Stovell, an automated deployment tool which pulls from a Nuget feed and distributes your application using a central dashboard.

We also have some msbuild scripts following the conventions on his site which tell you how to build the nuget files.

Apparently, the latest version of Teamcity (EAP) can automatically package your artifacts to nuget packages and act as a NuGet server.

We have had much success using both TC and Octopus Deploy for automated build and deployment.

like image 165
Michelle Steele Avatar answered Oct 06 '22 00:10

Michelle Steele


NuGet was not meant for tools/applications/executables. It is meant for things that go into the source and working with the source. Where NuGet stops, Chocolatey comes in. You can also use Octopus for conventional deployment, see the answer in this question with Octopus Deploy. You can also integrate Chocolatey with Octopus.

Chocolatey will have better support for packaging up websites and getting them installed as websites in the future. At the time of this answer it doesn't yet have a built in function for installing a web application.

like image 23
ferventcoder Avatar answered Oct 05 '22 23:10

ferventcoder