Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"width":2618,"height":1326,"updated":"2026-01-20T00:48:07.089Z"}
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"width":2606,"height":1314,"updated":"2026-01-20T00:48:07.172Z"}
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"width":2618,"height":1350,"updated":"2026-01-20T00:48:07.245Z"}
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"width":2874,"height":1522,"updated":"2026-01-20T00:48:07.318Z"}
60 changes: 50 additions & 10 deletions src/pages/docs/releases/creating-a-release.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,14 @@ title: Creating a release
description: Learn how to create a release in Octopus Deploy
navOrder: 2
---

## How to create a release in Octopus Deploy

1. With your deployment process defined, you can create a release on the project's Overview page, by clicking **CREATE RELEASE**.

:::figure
![Create release](/docs/img/shared-content/releases/images/create-release.png)
:::
:::figure
![Create release](/docs/img/shared-content/releases/images/create-release.png)
:::

2. Depending on the type of steps you configured in the deployment process, there could be additional options available, for instance, if you're using a step to deploy a package, there will be a package section where you can specify which version of the package to use in the release.
3. Give the release a version number, add any release notes you'd like to include, and click **SAVE**.
Expand All @@ -29,7 +30,7 @@ After creating the release, if the [lifecycle](/docs/releases/lifecycles) associ

If the release is not deployed automatically, you can click **DEPLOY TO (Environment)** where *(Environment)* is the first environment in the project's lifecycle. Alternatively, you can click **Deploy to...** to select a specific environment to deploy to.

### Schedule a deployment
### Schedule a deployment {#scheduling-a-deployment}

1. Select the release you want to schedule for deployment.
1. Click **DEPLOY TO...** or **DEPLOY TO (Environment)**.
Expand Down Expand Up @@ -82,22 +83,22 @@ You can deploy releases to a specific subset of deployment targets.

For each release you create, a snapshot is taken of the project variables. You can review the variables for a release from within a project:

1. Using the project side menu, navigate to **Deployments ➜ Releases**
1. Using the project side menu, navigate to **Deployments ➜ Releases**
1. Select the release that you wish to view the variable snapshot for
1. On the release page scroll to the **Variable Snapshot** section
1. Click **SHOW SNAPSHOT**

This lets you see the variables as they existed when the release was created.

:::figure
![](/docs/img/releases/images/release-variable-snapshot-section.png)
![The Octopus release screen with variable snapshots highlighted](/docs/img/releases/images/release-variable-snapshot-section.png)
:::

You can update the variables by clicking **UPDATE VARIABLES**. This can be useful when:

* The release has not been deployed yet, but the variables have changed since the release was created.
* The release needs to be **redeployed** and the variables have changed since the release was created.
* The release failed to deploy due to a problem with the variables and you need to update the variables and redeploy the release.
- The release has not been deployed yet, but the variables have changed since the release was created.
- The release needs to be **redeployed** and the variables have changed since the release was created.
- The release failed to deploy due to a problem with the variables and you need to update the variables and redeploy the release.

After you've updated the variables, the release will use the updated variables when it is deployed.

Expand All @@ -111,7 +112,7 @@ When updating the variable snapshot, the new snapshot is taken from the current
![Screenshot of Octopus Release page showing process snapshot with Git reference main and commit 047cb76 and variable snapshot with reference main and commit 617aa79](/docs/img/releases/git-variables-release-snapshot.png)
:::

Updating the variable snapshot _only_ updates the variables (and not the deployment process). After updating, the commit for the process snapshot and variables snapshot will be different.
Updating the variable snapshot *only* updates the variables (and not the deployment process). After updating, the commit for the process snapshot and variables snapshot will be different.

## Custom fields

Expand Down Expand Up @@ -146,3 +147,42 @@ The following restrictions apply to custom fields on releases:

- A maximum of 10 custom fields can be added to each release.
- The maximum length of the key and value of each custom field is 150 characters.

## Create a release based on a previous release

Sometimes you may need to create a new release based on a previous release, for example, if a defect is discovered during testing which requires making changes to a package used by the release before publishing a new version. This can be done via the release summary page.

:::figure
![Screenshot of Octopus release page showing an existing release and its selected packages](/docs/img/releases/images/octopus-existing-release-selected-packages.png)
:::

From your existing release, select the **Copy** option. You will be redirected to the create release page.

:::figure
![Screenshot of Octopus release page showing new Copy option in the overflow menu](/docs/img/releases/images/octopus-releases-copy-release.png)
:::

The following release properties will be pre-populated:

- Channel of the source release
- Version of the source release
- Git reference from the source release, if it's a version-controlled project
- *If the source release is created from the `features/dark-mode` branch, then the new one should use the same (the head commit may be different in this case). If the source uses a specific commit, the new release should use the same commit.*
- All package versions from the source release
- All Git resources from the source release
- Release notes from the source release
- Custom fields from the source release

:::figure
![Screenshot of Octopus release page showing copied release with all existing package versions selected](/docs/img/releases/images/octopus-copied-release-with-package-versions-pre-selected.png)
:::

Before saving the new release, you will need to update the release version. Attempting to save the release with a version that already exists will encounter validation errors.

:::figure
![Screenshot of Octopus release page showing copied release with updated version for a single package](/docs/img/releases/images/octopus-copied-release-with-package-versions-updated.png)
:::

## Older versions

- In versions earlier than **2026.1.4812**, there is no option to create a release from a previous release