Creating Packages

Last updated

Octopus expects your package to contain all of the files needed to run the application when it is deployed (along with any scripts needed for deployment, and any configuration transformation files, etc).

An ASP.NET MVC application, packaged using NuGet for example, would look like this:

While a Windows Service application might look like this:

Note that in both examples:

  • Only binaries and files needed at runtime are included - C# source code files, for example, are not in the package.
  • The binaries aren't just for the current application - they also include any other assemblies needed for the application to run.

Create Your Packages

How you create your packages depends on which package type you wish to create. Octopus generally treats all packages the same, so choose the tooling and package type that is easiest for you to create. For example:

  • ASP.NET apps (.NET Framework): use OctoPack.
  • Windows Services (.NET Framework): use OctoPack.
  • .NET Core apps: use dotnet publish on the project followed by octo.exe pack on the output directory.
  • JavaScript apps: use grunt, gulp, or octojs.
  • Working with TeamCity: use our extension, octo.exe pack or even the built in tools for TeamCity.
  • Working with Azure DevOps: use our extension and/or octo.exe pack.
  • If you just want to package up a folder as-is: use octo.exe pack or just zip it up!

As long as you can create one of our supported packages, you can deploy your application with Octopus Deploy.

In This Section

The following topics are explained further in this section: