-
Notifications
You must be signed in to change notification settings - Fork 100
Update ephemeral environment docs with automatic deployments #2871
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 1 commit
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| 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 | ||||||
|
|
@@ -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 | ||||||
|
|
||||||
|
|
@@ -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 | ||||||
lourens-octopus marked this conversation as resolved.
Show resolved
Hide resolved
|
||||||
|
|
||||||
| :::div{.hint} | ||||||
| **Tips:** | ||||||
|
|
@@ -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. | ||||||
|
|
||||||
|
|
@@ -90,15 +94,19 @@ Review the selected configuration and click Confirm. You can go back and adjust | |||||
|
|
||||||
|  | ||||||
|
|
||||||
| 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. | ||||||
|
|
||||||
|  | ||||||
|
|
||||||
| ## 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: | ||||||
|
|
||||||
|
|
@@ -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. | ||||||
|
||||||
|
|
||||||
| 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. | ||||||
|
||||||
| 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. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Updated
Outdated
There was a problem hiding this comment.
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.
| 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. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Updated
Outdated
There was a problem hiding this comment.
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
Outdated
There was a problem hiding this comment.
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
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Updated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oops, good pickup, thanks!
Uh oh!
There was an error while loading. Please reload this page.