This page is for Octopus Deploy 3.0 and newer versions. You can view this page for Octopus 2.0

Skip to end of metadata
Go to start of metadata

In Octo.exe version 3.3.8 we have expanded the functionality of the pack command to allow creating zip packages in addition to NuGet packages.


This page describes how to use octo.exe to create zip packages. You could use any zip program or library, but octo.exe pack will:

  • help you get the filename format correct
  • ensure file timestamps are retained when extracting which helps with some forms of content delivery networks (CDN) and caching
  • ensure delta compression for package transfers works as expected
  • Avoid known issues with other compression libraries

To create a zip package of the application, open a command prompt and change directory to where the application is located.

When creating the zip package, we will call octo.exe with the pack command and give it a package Id and specify the format of package we want to use by adding the --format option

By default octo.exe will pack all the files that are in the current directory, and give it a timestamp based version number.

If you want to provide your own version, you can pass the --version parameter in the call to Octo.exe

Open the created zip package and you should see the package contains all the same files as the output folder of your build


The Octo.exe pack command provides a number of other useful parameters that can be used to customize the way your package gets created, such as output folder, files to include and release notes.

To get help with what parameters allow you to do what, display the usage help for the pack command

Which will explain how to use the command and the different parameters that can be passed to the command

Known Issues in other packaging libraries

  • Atlassian Bamboo users who are using Adam Myatt's  Zip File Task and are extracting to a Linux machine may find that the contents don't get extracted into the correct folder structure but instead flattened with the path as the file name. This is the result of a known issue whereby the task does not confirm to the correct  PKWARE ZIP § specifications and is using a back slash instead of forward slash as the file separator. We would recommend avoiding this task where possible.
  • Prior to the .NET framework 4.6.1, the System.IO.Compression library incorrectly preserved the windows-style back slash separator for file paths. This has since been fixed from .NET Framework 4.6.1 and the fix carried over into .NET Core.
  • The above System.IO.Compression bug found its way into Octo.exe when support for zip compression was added. A fix was not included until release 3.3.18 of Octo.exe to manually convert a back slash the to forward slash.


  • No labels