Octopus Deploy plugin

3 minute readExtensibilityDeveloper productivity

Octopus Deploy is the deployment automation server for the entire team, designed to make it easy to orchestrate releases and deploy applications, whether on-premises or in the cloud.

  • Promote releases between environments

  • Repeatable & reliable deployments

  • Octopus comes bundled with built-in conventions for deploying different types of applications, handling configuration files, and calling scripting languages. The community library provides over 200 steps that you can reuse.

This plugin integrates CloudBees CD/RO with OctopusDeploy.

Plugin version 1.0.2.2020102201 Revised on October 16, 2020

Supported Versions

The plugin has been tested with the following versions:

  • 2019.3.3 LTS

Plugin Configurations

Plugin configurations are sets of parameters that apply across some or all of the plugin procedures. They reduce repetition of common values, create predefined parameter sets for end users, and securely store credentials where needed. Each configuration is given a unique name that is entered in designated parameters on procedures that use them.

Creating plugin configurations

To create plugin configurations in CloudBees CD, do these steps:

  1. Go to Administration >Plugins to open the plugin manager.

  2. Find the EC-OctopusDeploy row.

  3. Click Configure to open the Configurations page.

  4. Click Create Configuration as per the description of parameters below.

Configuration procedure parameters

Parameter Description

Configuration Name

The name for the created configuration

Description

Description for the configuration

Octopus Endpoint

Octopus instance endpoint, for example, http://octopus.example.com

API Key

API Key is used to authenticate requests to the Octopus Deploy server.

Check Connection?

If checked, the configuration will be saved only if the test request with given credentials succeeds.

Check Connection?

If checked, the connection endpoint and credentials entered as part of the configuration will be tested. If this option is checked, configuration will not be saved if the test fails.

Debug Level

This option sets debug level for logs. If info is selected, only summary information will be shown, for debug, there will be some debug information and for trace the whole requests and responses will be shown.

Plugin procedures

Create or update release

Creates or updates a Release in Octopus Deploy.

Create or update release parameters

Parameter Description

Configuration Name

Previously defined configuration for the plugin

Update Action

This parameter controls the update of a release if one with the same name exists already:

* Do Nothing (Default) — Take no action, return silently.

* Remove and Create  — Remove existing balancing pool and Create a new one.

* Throw exception  — Do not update. Throw an error.

Use Space

If actual Octopus Deploy supports spaces or doesn’t.

Spaces became first available in a long-term support version with the 2019.3 release. Ignored for prior releases.

Space Name

The name of the space.

Spaces became first available in a long-term support version with the 2019.3 release. Ignored for prior releases.

Project Name

The name of the project .

Names must only contain letters, numbers, periods, commas, dashes, underscores, or hashes.

Release Version

The human-readable name of the version (like 1.0.0).

Release Notes

Contains descriptions of new enhancements that went in as part of that release and also the known issues of that build.

Selected Packages

Specify which steps should be which package version.

Example:

[ {"StepName":"website", "Version": "1.0.3"}, …​ ]

The fields should be valid JSON.

Channel Name

The name of the channel .

Ignore Channel Rules

If the requested package versions violate the channel version rules you can override this check.

Result Property Sheet

Results will be saved into this property/property sheet.

Output parameters

Parameter Description

releaseId

The ID of the release that was created.

Deploy Release

Deploys a Release in Octopus Deploy.

Deploy Release Parameters

Parameter Description

Configuration Name

Previously defined configuration for the plugin

Use Space

If actual Octopus Deploy supports spaces or doesn’t.

Spaces became first available in a long-term support version with the 2019.3 release. Ignored for prior releases.

Space Name

The name of the space. Spaces became first available in a long-term support version with the 2019.3 release. Ignored for prior releases.

Project Name

The name of the project .

Names must only contain letters, numbers, periods, commas, dashes, underscores or hashes.

Release Version

The human-readable name of the version (like 1.0.0).

Environment Name

The name of the environment .

Comment

Comment related to the deploy.

Result Property Sheet

Results will be saved into this property/property sheet.

Output parameters

Parameter Description

deploymentId

The ID of the deployment that was kicked off.

Use cases

Deploy HTML and JavaScript applications

It’s one of many deployment examples.

Preparation

Make appropriate preparation according to Octopus Deployment example.

API key

Evnvironment

Upload the package to the built-in repository

Add the deployment target

Create the project

Fill in project variables
uc01 proj vars
Create the project’s step
uc01 proj step01
uc01 proj step02

Create configuration

Create release

Deploy release

Release notes

EC-OctopusDeploy 1.0.1

  • Added logging while running "CreateConfiguration" / "EditConfiguration".

  • Added diagnostic if "CreateConfiguration" / "EditConfiguration" failed.

EC-OctopusDeploy 1.0.0

  • Initial Version. The following procedures were added.

    • CreateOrUpdateRelease

    • DeployRelease