Skip to end of metadata
Go to start of metadata

Plugin Information

View OctopusDeploy on the plugin site for more information.

Allows users to create and deploy releases with OctopusDeploy

Releases

1.9.0

Feature for supporting Octopus 2018.8 which introduced a change to Steps allowing multiple packages. Now uses 'package reference name' instead of just step name.

Contributed by Shannon Lewis

1.8.1

Bugfix - When a specified Octopus URL ended with a / the Build Summary links would be incorrectly truncated by one character.

1.8.0

Feature Enhancement - Packages can now be specified by Package Name or by Step Name.

Contributed by Cristian Uroz

1.7.0

New Feature - Supports configuring and using multiple Octopus servers. Configure in the Jenkins global configuration, and use per-project in the Deployment or Release post build step. Found under Advanced Options.

Contributed by Wassim Ben Ayed

1.6.0

New Feature - Support the ability to specify a channel while creating a release.

1.5.0

New Feature - The ability to specify a tenant when deploying in multi-tenant mode.
Contributed by Kees van Ginkel

1.4.0

New Feature - set variables when executing a deployment. 
Contributed by Stephen Rufle

1.3.1

Bugfix - Release notes from SCM now properly include changeset from current build.

1.3.0

Initial release on Jenkins-CI

OctopusDeploy Plugin

Connecting OctopusDeploy to the Jenkins workflow. Integration with OctopusDeploy is achieved via the REST API, not the Octo.exe tool.

Compatibility

Built initially with, and compatible with OctopusDeploy 2.6.
Tested and compatible with OctopusDeploy 3.0, 3.1, 3.2, and 3.4.

Main Components

Post-build step - Create Release

Creates a new release entry for a given project. Optionally also deploys the newly created release to a given environment. This component will only run if the build has been successful up until the point the post-build step is invoked.

Post-build step - Execute Deployment

Sends a release to a given environment. This component will only run if the build has been successful up until the point the post-build step is invoked.

Features

REST API Integration

This plugin implements part of the REST API for OctopusDeploy in order to retrieve data and execute commands on the server. It makes use of an API Key which is configured in the Global Settings Jenkins configuration page. This API Key is used for all interactions with OctopusDeploy.

Environment Variable Support

Environment variables can be used in many fields in the Release and Deployment components of this plugin. Any variable, written as

${VARIABLE_NAME}

will get replaced by that variable's value. If there is no value set for that variable, the token is not replaced.

Custom Release Notes

The Release component allows Release Notes to be gathered from SCM, collecting commit messages from the current build all the way back to the last successful build, or it can load in Release Notes from a file. There is also an option to provide a link back to the job run that created the release in the Release Notes, allowing easy navigation between Jenkins jobs and OctopusDeploy Releases.

Each component provides a link to the Release or Deployment that it created. These links are provided in the console output of the job as well as showing up as a build badge, and in the Build Summary.

Wait-for-Deployment

The Deployment component can optionally wait for the completion of the Deployment, and record the status. If the status returns as failed, the Jenkins job will be marked as a failure.

Autocomplete

Some entry fields, like Project and Environment support auto-completion, pulling a list of names to choose from from the OctopusDeploy server.

Octopus variables

As of 1.4.0, this plugin can set Octopus variables for use in deployment.

Multi tenant support

As of 1.5.0, this plugin can submit a Tenant to the deployment step for use in Octopus' multi-tenant mode.

Creating release on specific Channels

As of 1.6.0, this plugin can create releases on specific Channels as defined by users.

6 Comments

  1. Is there a character limit (30 characters?) on the Octopus Deploy server URL parameter? In our environment Octopus server listens on a non-standard port and the URL is 32 characters long. I am able to mention the server URL just fine in the Manage Jenkins section. However, in the jenkins job, the release and deployment links ignore the last two characters of the server URL.

    1. Nothing in the plugin's code enforces any character limit

      1. It's weird. The build runs fine, it creates the octopus release and initiates the deployment, but in the Jenkins UI the build execution summary shows the Octopus links for Release and Deploy incorrectly. Do you know what might be causing the the server URL to be trimmed?

        1. I don't see anything that would be causing this after a quick look, but if you think there's a bug in the code that needs to be fixed, please file an issue.

          1. I don't think it liked the '/' towards the end of the Octopus server URL. I removed that and it started working. Thank you!

  2. Can anyone help with setting this up, I am creating a small java jar and trying to deploy it through octopus with this plugin.

    I use a batch command to create the nuget package like this:

    C:\Nuget\nuget.exe pack "%WORKSPACE%\Deployment_Items\Item.nuspec" -Version %Major%.%Minor%.%Patch%.%BUILD_NUMBER% -Properties Configuration=ReleaseC:\Nuget\nuget.exe pack "%WORKSPACE%\Deployment_Items\Item.nuspec" -Version %Major%.%Minor%.%Patch%.%BUILD_NUMBER% -Properties Configuration=Release

    this package gets dumped in c:\nugetRepo and my octopus server can see this package when I test the feed.

     

    I am trying to setup a octopus deployment, but I get this error:

    INFO: Started Octopus Release
    INFO: =======================
    INFO: Project: JavaPOC
    INFO: Release Version: 23
    INFO: Include Release Notes?: false
    INFO: Deploy this Release?: true
    INFO: Environment: Java_POC
    INFO: Wait for Deployment: false
    INFO: Package Configurations:
    INFO: Itemv1.0.1.39
    INFO: =======================
    ERROR: Required package Trigger_Build not included because package is not in Package Configuration list and no default package version defined
    FATAL: Failed to create release: Code 400 -
    No package version was specified for the step 'Trigger_Build'

     

    I fill out these fields in the plugin:

    Project Name

    Release Version

    Environment

    Package Configurations - Package and version

     

     

    The error talks about a build trigger, but there is nothing in the plugin about that and all I want to do is just manually trigger a build and have it build and deploy.

     

    Any help would be great.