/Calamari

The core deployment scripts and tools used by Octopus Deploy

Primary LanguageC#OtherNOASSERTION

Calamari is the command-line tool invoked by Tentacle during a deployment. It knows how to extract and install NuGet packages, run the Deploy.ps1 etc. conventions, modify configuration files, and all the other things that happen during an deployment.

Building

You will need the .NET Core SDK 1.0.0-preview2-003133, donwloadable from https://github.com/dotnet/core/blob/master/release-notes/download-archives/1.0.1-preview2-download.md

Run Build.cmd to build the solution

When the solution is built, a new Calamari package is created in the artifacts directory.

Usage

To use your own Calamari package with an Octopus 3.0 server, run the following commands

Octopus.Server.exe service --instance <instance> --stop --nologo --console
Octopus.Server.exe configure --instance <instance> --customBundledPackageDirectory=<directory> --nologo --console
Octopus.Server.exe service --instance <instance> --start --nologo --console

where <directory> is the directory containing the Calamari.*.nupkg files. If your server is setup as the default instance, you may ommit the --instance <instance> parameter.

This will add the following setting to your Octopus Server configuration file:

  <set key="Octopus.Deployment.CustomBundledPackageDirectory">C:\GitHub\Calamari\built-packages</set>

The exe and configuration file can normally be found at:

C:\Octopus\OctopusServer\OctopusServer.config

If you want to revert to the bundled package, run the following commands

Octopus.Server.exe service --instance <instance> --stop --nologo --console
Octopus.Server.exe configure --instance <instance> --customBundledPackageDirectory= --nologo --console
Octopus.Server.exe service --instance <instance> --start --nologo --console

** Ensure you update your build to the latest Calamari or revert to the bundled package when you upgrade Octopus Server **