Skip to content
Merged
Changes from 1 commit
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
47 changes: 35 additions & 12 deletions src/pages/docs/projects/ephemeral-environments/index.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
layout: src/layouts/Default.astro
pubDate: 2025-09-08
modDate: 2025-09-08
pubDate: 2025-10-17
modDate: 2025-10-17
title: Ephemeral Environments
navTitle: Ephemeral Environments
navSection: Ephemeral Environments
Expand All @@ -17,7 +17,7 @@ Support for Ephemeral Environments is rolling out as an Early Access Preview to

Ephemeral environments integrate smoothly into your existing development workflows by building on existing Octopus features such as [Releases](/docs/releases), [Channels](/docs/releases/channels) and [Runbooks](/docs/runbooks).

Octopus will automatically create and deploy to an ephemeral environment from releases created within a specifically configured channel in a project, and supports provisioning and deprovisioning of associated infrastructure using Runbooks.
Octopus can automatically create and deploy to an ephemeral environment from releases created within a specifically configured channel in a project, and supports provisioning and deprovisioning of associated infrastructure using Runbooks.

## Getting started

Expand All @@ -41,11 +41,15 @@ Enter the name for a new parent environment or select an existing parent environ
Give your parent environment a recognizable name that describes what you intend to use ephemeral environments for. Examples might include "Pull request environments" or "Test environments".
:::

### Naming
### Auto Deploy

Octopus will automatically provision a new ephemeral environment for you from releases in your project. The name of each environment can be configured using an Environment Name Template. Templates support the same powerful syntax as Variables. Any [system variable for a release](/docs/projects/variables/system-variables#release) can be used as part of the template.
With ephemeral environments, you can choose to automatically deploy a release to the environment when it is created. This can help to streamline your workflows by reducing the number of manual steps required to get your changes deployed.
You can also select to manually create and deploy to an environment.

Enter a template and click Next.
Select whether to automatically deploy releases to ephemeral environments.
If you select to automatically deploy, you will also have to provide an environment name template that will be used to name the environment.

#### Environment Name Template

:::div{.hint}
**Tips:**
Expand All @@ -56,7 +60,7 @@ Enter a template and click Next.

:::

#### Custom Fields
##### Custom Fields

Releases support Custom Fields which can be used to configure the name of an ephemeral environment. See [Using custom fields in releases](/docs/releases/creating-a-release#custom-fields) for more information.

Expand Down Expand Up @@ -90,15 +94,19 @@ Review the selected configuration and click Confirm. You can go back and adjust

![Confirming the configuration of ephemeral environments for a project](/docs/projects/ephemeral-environments/confirm-ephemeral-environments-configuration.png)

Ephemeral environments are now configured for your project. A new channel has been created in the project which will automatically create and deploy to a new environment for each release.
Ephemeral environments are now configured for your project. A new channel has been created in the project to manage the creation and deployment of ephemeral environments.

Click **Got it** to continue to creating a new environment from a release.

![Ephemeral environments successfully configured for a project](/docs/projects/ephemeral-environments/ephemeral-environments-configured.png)

## Creating an ephemeral environment

To create an ephemeral environment, create a release in the new channel configured within the project. Octopus will automatically create a new environment and deploy the release to it.
### Automatically

Octopus can automatically create an ephemeral environment when a release is created in the channel configured for ephemeral environments if automatic deployments is selected.

To create an ephemeral environment, create a release in the new channel configured within the project. Octopus will create a new environment and deploy the release to it.

A release can be created using the:

Expand All @@ -116,6 +124,16 @@ Remember to provide any custom fields with the release that are used in the envi
Support for providing custom fields is not yet available in the Octopus CLI.
:::

### Manually

If manual deployments is selected, ephemeral environments can be created manually from the Ephemeral Environments page within the project.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In the Portal we don't call this "manual deployment" (at least as a heading/radio button), we say "Don't automatically deploy...", we should be consistent with the way we describe the various concepts here. Happy to workshop the copy and titles here to find the right way to describe if that would be helpful.

Copy link
Contributor Author

@lourens-octopus lourens-octopus Oct 21, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated


To create an ephemeral environment manually:
- Select **Add Ephemeral Environment** from the Ephemeral Environments page.
- Enter a name for the environment.

The environment will now be created in the Not Provisioned state, ready to be provisioned and deployed to. Provisioning will be performed automatically by the configured runbook when the environment is deployed to.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Slight tweak to mention the release being deployed here:

Suggested change
The environment will now be created in the Not Provisioned state, ready to be provisioned and deployed to. Provisioning will be performed automatically by the configured runbook when the environment is deployed to.
The environment will now be created in the Not Provisioned state, ready for a release to be deployed to it. Provisioning will be performed automatically by the configured runbook when a release is deployed to the environment.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated


## Provisioning infrastructure

Infrastructure required for an ephemeral environment can be provisioned using a runbook. Octopus will automatically run this runbook before the first deployment to the environment.
Expand All @@ -136,7 +154,13 @@ Environments can be filtered by name and by the current state of the environment

## Updating an existing environment

To update an existing ephemeral environment, create another release that results in the same environment name based on the template. The release will be automatically deployed into the environment.
### Automatic Deployments

Create another release that results in the same environment name based on the environment name template.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's implied that we'll automatically deploy the release, but prob still good to include the explicit text I think to make it super clear what will happen.

Suggested change
Create another release that results in the same environment name based on the environment name template.
Create another release that results in the same environment name based on the environment name template. The release will be automatically deployed into the environment.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated


### Manual Deployments

Create a new release and select the environment to deploy to.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe something like:

Create another release and if the environment name template resolves to the same name, Octopus reuses that environment and deploys the new release to it. @geofflamrock @lourens-octopus

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe something like:
Create a new release, then deploy it and select the existing environment in the Deploy to step.
Octopus deploys the release to that environment without creating a new one. @geofflamrock @lourens-octopus

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated


## Deprovisioning an environment

Expand All @@ -157,7 +181,7 @@ To deprovision an environment:

### Automatic deprovisioning of environments

Ephemeral environments can be automatically deprovisioned if they are inactive after after a configurable time period. Deploying a release to an environment or running a runbook against an environment marks the environment as still being active.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oops, good pickup, thanks!

Ephemeral environments can be automatically deprovisioned if they are inactive after a configurable time period. Deploying a release to an environment or running a runbook against an environment marks the environment as still being active.

:::div{.hint}
By default, ephemeral environments are removed after 7 days of inactivity.
Expand Down Expand Up @@ -206,4 +230,3 @@ The following limitations currently apply to the use of the Ephemeral Environmen
- Ephemeral environments cannot be deployed to tenants.
- Parent environments cannot be connected to tenants.
- Ephemeral environments and parent environments cannot be used within lifecycles, deployment freezes and insights reports.
- Ephemeral environments cannot be manually created outside of releases.