Home

Awesome

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

Documentation

Issues

Please see Contributing

Development

You need:

Run 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.

Releasing

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.

Compatibility

See the Compatibility page in our docs

Versioning

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.