diff --git a/public/docs/i/1000/releases/images/octopus-copied-release-with-package-versions-pre-selected.webp b/public/docs/i/1000/releases/images/octopus-copied-release-with-package-versions-pre-selected.webp new file mode 100644 index 0000000000..9fb106e76a Binary files /dev/null and b/public/docs/i/1000/releases/images/octopus-copied-release-with-package-versions-pre-selected.webp differ diff --git a/public/docs/i/1000/releases/images/octopus-copied-release-with-package-versions-updated.webp b/public/docs/i/1000/releases/images/octopus-copied-release-with-package-versions-updated.webp new file mode 100644 index 0000000000..439a747195 Binary files /dev/null and b/public/docs/i/1000/releases/images/octopus-copied-release-with-package-versions-updated.webp differ diff --git a/public/docs/i/1000/releases/images/octopus-existing-release-selected-packages.webp b/public/docs/i/1000/releases/images/octopus-existing-release-selected-packages.webp new file mode 100644 index 0000000000..e878f88525 Binary files /dev/null and b/public/docs/i/1000/releases/images/octopus-existing-release-selected-packages.webp differ diff --git a/public/docs/i/1000/releases/images/octopus-releases-copy-release.webp b/public/docs/i/1000/releases/images/octopus-releases-copy-release.webp new file mode 100644 index 0000000000..b107b0c862 Binary files /dev/null and b/public/docs/i/1000/releases/images/octopus-releases-copy-release.webp differ diff --git a/public/docs/i/2000/releases/images/octopus-copied-release-with-package-versions-pre-selected.webp b/public/docs/i/2000/releases/images/octopus-copied-release-with-package-versions-pre-selected.webp new file mode 100644 index 0000000000..5e7e7538e2 Binary files /dev/null and b/public/docs/i/2000/releases/images/octopus-copied-release-with-package-versions-pre-selected.webp differ diff --git a/public/docs/i/2000/releases/images/octopus-copied-release-with-package-versions-updated.webp b/public/docs/i/2000/releases/images/octopus-copied-release-with-package-versions-updated.webp new file mode 100644 index 0000000000..dbadbb0435 Binary files /dev/null and b/public/docs/i/2000/releases/images/octopus-copied-release-with-package-versions-updated.webp differ diff --git a/public/docs/i/2000/releases/images/octopus-existing-release-selected-packages.webp b/public/docs/i/2000/releases/images/octopus-existing-release-selected-packages.webp new file mode 100644 index 0000000000..38a5f72464 Binary files /dev/null and b/public/docs/i/2000/releases/images/octopus-existing-release-selected-packages.webp differ diff --git a/public/docs/i/2000/releases/images/octopus-releases-copy-release.webp b/public/docs/i/2000/releases/images/octopus-releases-copy-release.webp new file mode 100644 index 0000000000..70456c1cad Binary files /dev/null and b/public/docs/i/2000/releases/images/octopus-releases-copy-release.webp differ diff --git a/public/docs/i/600/releases/images/octopus-copied-release-with-package-versions-pre-selected.webp b/public/docs/i/600/releases/images/octopus-copied-release-with-package-versions-pre-selected.webp new file mode 100644 index 0000000000..154db8d051 Binary files /dev/null and b/public/docs/i/600/releases/images/octopus-copied-release-with-package-versions-pre-selected.webp differ diff --git a/public/docs/i/600/releases/images/octopus-copied-release-with-package-versions-updated.webp b/public/docs/i/600/releases/images/octopus-copied-release-with-package-versions-updated.webp new file mode 100644 index 0000000000..9966f04c84 Binary files /dev/null and b/public/docs/i/600/releases/images/octopus-copied-release-with-package-versions-updated.webp differ diff --git a/public/docs/i/600/releases/images/octopus-existing-release-selected-packages.webp b/public/docs/i/600/releases/images/octopus-existing-release-selected-packages.webp new file mode 100644 index 0000000000..5512405c45 Binary files /dev/null and b/public/docs/i/600/releases/images/octopus-existing-release-selected-packages.webp differ diff --git a/public/docs/i/600/releases/images/octopus-releases-copy-release.webp b/public/docs/i/600/releases/images/octopus-releases-copy-release.webp new file mode 100644 index 0000000000..d384296e5a Binary files /dev/null and b/public/docs/i/600/releases/images/octopus-releases-copy-release.webp differ diff --git a/public/docs/i/x/releases/images/octopus-copied-release-with-package-versions-pre-selected.png b/public/docs/i/x/releases/images/octopus-copied-release-with-package-versions-pre-selected.png new file mode 100644 index 0000000000..6d38ae7d49 Binary files /dev/null and b/public/docs/i/x/releases/images/octopus-copied-release-with-package-versions-pre-selected.png differ diff --git a/public/docs/i/x/releases/images/octopus-copied-release-with-package-versions-updated.png b/public/docs/i/x/releases/images/octopus-copied-release-with-package-versions-updated.png new file mode 100644 index 0000000000..da2390d352 Binary files /dev/null and b/public/docs/i/x/releases/images/octopus-copied-release-with-package-versions-updated.png differ diff --git a/public/docs/i/x/releases/images/octopus-existing-release-selected-packages.png b/public/docs/i/x/releases/images/octopus-existing-release-selected-packages.png new file mode 100644 index 0000000000..61356755a9 Binary files /dev/null and b/public/docs/i/x/releases/images/octopus-existing-release-selected-packages.png differ diff --git a/public/docs/i/x/releases/images/octopus-releases-copy-release.png b/public/docs/i/x/releases/images/octopus-releases-copy-release.png new file mode 100644 index 0000000000..6d55e4f4c7 Binary files /dev/null and b/public/docs/i/x/releases/images/octopus-releases-copy-release.png differ diff --git a/public/docs/img/releases/images/octopus-copied-release-with-package-versions-pre-selected.png b/public/docs/img/releases/images/octopus-copied-release-with-package-versions-pre-selected.png new file mode 100644 index 0000000000..0d5eb4aef3 Binary files /dev/null and b/public/docs/img/releases/images/octopus-copied-release-with-package-versions-pre-selected.png differ diff --git a/public/docs/img/releases/images/octopus-copied-release-with-package-versions-pre-selected.png.json b/public/docs/img/releases/images/octopus-copied-release-with-package-versions-pre-selected.png.json new file mode 100644 index 0000000000..fcb1a8eafb --- /dev/null +++ b/public/docs/img/releases/images/octopus-copied-release-with-package-versions-pre-selected.png.json @@ -0,0 +1 @@ +{"width":2618,"height":1326,"updated":"2026-01-20T00:48:07.089Z"} \ No newline at end of file diff --git a/public/docs/img/releases/images/octopus-copied-release-with-package-versions-updated.png b/public/docs/img/releases/images/octopus-copied-release-with-package-versions-updated.png new file mode 100644 index 0000000000..ea630248cf Binary files /dev/null and b/public/docs/img/releases/images/octopus-copied-release-with-package-versions-updated.png differ diff --git a/public/docs/img/releases/images/octopus-copied-release-with-package-versions-updated.png.json b/public/docs/img/releases/images/octopus-copied-release-with-package-versions-updated.png.json new file mode 100644 index 0000000000..fc69125ef3 --- /dev/null +++ b/public/docs/img/releases/images/octopus-copied-release-with-package-versions-updated.png.json @@ -0,0 +1 @@ +{"width":2606,"height":1314,"updated":"2026-01-20T00:48:07.172Z"} \ No newline at end of file diff --git a/public/docs/img/releases/images/octopus-existing-release-selected-packages.png b/public/docs/img/releases/images/octopus-existing-release-selected-packages.png new file mode 100644 index 0000000000..4597994faa Binary files /dev/null and b/public/docs/img/releases/images/octopus-existing-release-selected-packages.png differ diff --git a/public/docs/img/releases/images/octopus-existing-release-selected-packages.png.json b/public/docs/img/releases/images/octopus-existing-release-selected-packages.png.json new file mode 100644 index 0000000000..63849caaf2 --- /dev/null +++ b/public/docs/img/releases/images/octopus-existing-release-selected-packages.png.json @@ -0,0 +1 @@ +{"width":2618,"height":1350,"updated":"2026-01-20T00:48:07.245Z"} \ No newline at end of file diff --git a/public/docs/img/releases/images/octopus-releases-copy-release.png b/public/docs/img/releases/images/octopus-releases-copy-release.png new file mode 100644 index 0000000000..4955678861 Binary files /dev/null and b/public/docs/img/releases/images/octopus-releases-copy-release.png differ diff --git a/public/docs/img/releases/images/octopus-releases-copy-release.png.json b/public/docs/img/releases/images/octopus-releases-copy-release.png.json new file mode 100644 index 0000000000..ef0b105899 --- /dev/null +++ b/public/docs/img/releases/images/octopus-releases-copy-release.png.json @@ -0,0 +1 @@ +{"width":2874,"height":1522,"updated":"2026-01-20T00:48:07.318Z"} \ No newline at end of file diff --git a/src/pages/docs/releases/creating-a-release.md b/src/pages/docs/releases/creating-a-release.md index 4517c4813c..2d6a0794c3 100644 --- a/src/pages/docs/releases/creating-a-release.md +++ b/src/pages/docs/releases/creating-a-release.md @@ -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**. @@ -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)**. @@ -82,7 +83,7 @@ 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** @@ -90,14 +91,14 @@ For each release you create, a snapshot is taken of the project variables. You c 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. @@ -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 @@ -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