This repository contains the .NET Client Library (
Octopus.Client) for Octopus Deploy, an automated deployment server for professional .NET developers. You can use it to create and deploy releases, create and push packages, and manage environments.
Octopus.Client is available on nuget.org
Please see Contributing
- VSCode, Visual Studio 2017 or JetBrains Rider to compile the solution
- dotnet core 2.2 SDK
Build.cmd to build, test and package the project. Do this before pushing as it will run the public surface area tests as well,
which require approval on every change that modifies the public API.
Note: releases can only be performed by Octopus staff.
To release to Nuget, tag
master with the next major, minor or patch number, TeamCity will do the rest.
Kick off the
Create OctopusClients Release build again if any of the dependencies fail.
This will push the release to our Octopus server, and trigger the
Octopus.Client project in the integration space.
A deployment will automatically happen to the
Extensions - Internal environment, and publish the package to Feedz.io.
Once ready to be fully released, promote the release to the
Extensions - External environment.
See the Compatibility page in our docs
We use Semantic Versioning for our open source libraries and tools. This breaks with our older practice of keeping version numbers in sync with Octopus Server.
Within a major version of
Octopus.Client we will maintain backwards compatibility to a set version of Octopus Server, allowing worry free minor and patch upgrades.
Conversely we also maintain backwards compatibility in our Server API as much as possible while still being able to add new features. This means that an older version of
Octopus.Client will work with newer versions of Octopus Server.
Refer to our Compatibility page to get an overview of which versions work with a particular version of Octopus Server.