-
Notifications
You must be signed in to change notification settings - Fork 100
Vvasudevan process templates docs #2801
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
base: main
Are you sure you want to change the base?
Changes from 16 commits
83b1e1e
c02c642
fdf6c7c
e366da5
19b63d9
5c2cbbb
5ff0a1c
e4289da
534bc00
63582a1
2df2878
12f7b49
59c68bd
7cef23c
cf07100
0059797
4565b7b
1b5df96
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 | ||||||||
---|---|---|---|---|---|---|---|---|---|---|
@@ -0,0 +1,59 @@ | ||||||||||
--- | ||||||||||
layout: src/layouts/Default.astro | ||||||||||
pubDate: 2025-09-30 | ||||||||||
modDate: 2025-09-30 | ||||||||||
title: Platform Hub | ||||||||||
subtitle: An overview of Platform Hub | ||||||||||
icon: | ||||||||||
navTitle: Overview | ||||||||||
navSection: platform-hub | ||||||||||
description: Platform Hub is a new capability in Octopus that helps platform teams standardize how software is delivered across teams using connected templates and enforceable policies. Together, these features create a governance layer for software delivery, making it easier for platform teams to scale best practices, reduce drift, and deliver with confidence. | ||||||||||
navOrder: 70 | ||||||||||
--- | ||||||||||
|
||||||||||
Platform Hub is a new capability in Octopus that helps platform teams standardize how software is delivered across teams using connected templates and enforceable policies. Together, these features create a governance layer for software delivery, making it easier for platform teams to scale best practices, reduce drift, and deliver with confidence. | ||||||||||
|
||||||||||
:::warning | ||||||||||
Platform Hub is currently in Public Preview for all Enterprise Cloud Customers. | ||||||||||
::: | ||||||||||
|
||||||||||
You can create and manage your process templates and policies from Platform Hub. | ||||||||||
|
||||||||||
- [Process templates](/docs/platform-hub/process-templates) are reusable sets of deployment steps that can be shared across multiple spaces in Octopus Deploy | ||||||||||
- [Policies](/docs/platform-hub) in Octopus are designed to ensure compliance and governance by default, making it easier to enforce pre- and post-deployment controls at scale. | ||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||||||
|
||||||||||
To get started, configure your version control. | ||||||||||
|
||||||||||
 | ||||||||||
|
||||||||||
:::hint This Git repository will be used for all features in Platform Hub.::: | ||||||||||
harrisonmeister marked this conversation as resolved.
Show resolved
Hide resolved
|
||||||||||
|
||||||||||
### Accounts in Platform Hub | ||||||||||
|
||||||||||
You can create and manage Accounts in Platform Hub that can be used inside process templates. | ||||||||||
|
||||||||||
You can create the following Account types by visiting the **Accounts** area in Platform Hub. | ||||||||||
|
||||||||||
- AWS Accounts | ||||||||||
- Azure Accounts | ||||||||||
- Google Cloud Account | ||||||||||
- SSH Key Pair | ||||||||||
- Username/Password | ||||||||||
- Token | ||||||||||
- Generic OIDC | ||||||||||
|
||||||||||
To use these Accounts inside a process template, you must create a parameter that references these Accounts first. | ||||||||||
|
||||||||||
 | ||||||||||
|
||||||||||
:::hint | ||||||||||
Platform Hub Account details will not be shown inside a consuming project | ||||||||||
::: | ||||||||||
|
||||||||||
### Git Credentials in Platform Hub | ||||||||||
|
||||||||||
You can create and manage Git Credentials in Platform Hub by visiting the Git Credentials screen in the Platform Hub navigation menu. You can use Git Credentials inside your process templates by selecting them from a dropdown in the step field that requires them. | ||||||||||
|
||||||||||
:::hint These are not the same Git credentials that are used to configure Platform Hub::: | ||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||||||
|
||||||||||
 |
Original file line number | Diff line number | Diff line change | ||||||||
---|---|---|---|---|---|---|---|---|---|---|
@@ -0,0 +1,161 @@ | ||||||||||
--- | ||||||||||
layout: src/layouts/Default.astro | ||||||||||
pubDate: 2025-09-30 | ||||||||||
modDate: 2025-09-30 | ||||||||||
title: Overview | ||||||||||
subtitle: An overview of Process Templates | ||||||||||
icon: | ||||||||||
navTitle: Overview | ||||||||||
navSection: Process Templates | ||||||||||
description: An overview of Process Templates | ||||||||||
navOrder: 71 | ||||||||||
--- | ||||||||||
## Overview | ||||||||||
|
||||||||||
Process templates are reusable sets of deployment steps that can be shared across multiple spaces in Octopus Deploy. Instead of copying and pasting deployment processes across teams and applications, which often leads to configuration drift, unnecessary duplication, and operational debt, you create a single source of truth that any project can consume. By abstracting your best practices for deployments into Process Templates, you make it easy for teams to follow standards and accelerate delivery. | ||||||||||
|
||||||||||
:::warning Process templates are in Public Preview for all Enterprise Cloud Customers::: | ||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||||||
|
||||||||||
To create or manage your process templates, navigate to Platform Hub. If you haven't setup your Git repository, you must do so first before creating a process template. Similarly, If you've already created templates or are joining an existing team, you'll see the existing templates in the template overview screen. | ||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||||||
|
||||||||||
 | ||||||||||
|
||||||||||
Before you can define the deployment process for your template, you must create the template first. | ||||||||||
|
||||||||||
1. Navigate to Process Templates in Platform Hub. | ||||||||||
2. Give the process template a **NAME** and an optional **DESCRIPTION** | ||||||||||
3. Create your process template. | ||||||||||
|
||||||||||
 | ||||||||||
|
||||||||||
You've created your process template; now, define its deployment process. | ||||||||||
|
||||||||||
A deployment process is a set of steps the Octopus Server orchestrates to deploy your software. Each process template has a single deployment process. You can use Octopus's built-in steps to define this process for your process template. | ||||||||||
|
||||||||||
 | ||||||||||
|
||||||||||
Some steps look different inside a process template. They ask for a parameter rather than allowing you to define a value. These steps ask for a resource that Platform Hub cannot define, such as Worker Pools, and you must define them inside a project. These fields accept parameters so you can define the values the process template needs inside a consuming project. | ||||||||||
|
||||||||||
 | ||||||||||
|
||||||||||
:::Warning | ||||||||||
Our initial release of Process Templates does not include support for custom step templates, community step templates, and a few built-in steps. | ||||||||||
::: | ||||||||||
|
||||||||||
Once you have set up a deployment process, you can use it in any space for a deployment process or runbook. | ||||||||||
|
||||||||||
## Parameters | ||||||||||
|
||||||||||
Parameters are how you easily manage and apply the correct values during a deployment that uses a process template. Using parameters, you can use the same process template across your environments and tailor the inputs based on the projects needs. | ||||||||||
|
||||||||||
Process Templates can manage the following as parameters. | ||||||||||
|
||||||||||
- AWS Account | ||||||||||
- Azure Account | ||||||||||
- Certificate | ||||||||||
- Channels | ||||||||||
- Checkbox | ||||||||||
- Container Feed | ||||||||||
- Drop down | ||||||||||
- Environments | ||||||||||
- Generic OIDC Account | ||||||||||
- Google Cloud Account | ||||||||||
- Multi-line text box | ||||||||||
- Single-line text box | ||||||||||
- Target Tags | ||||||||||
- Teams | ||||||||||
- Tenant Tags | ||||||||||
- Username Password Account | ||||||||||
- Worker Pool | ||||||||||
- A previous step name | ||||||||||
|
||||||||||
To create a parameter, you can navigate to the parameters tab on a process template and add a new parameter. | ||||||||||
|
||||||||||
 | ||||||||||
|
||||||||||
### Parameter values | ||||||||||
|
||||||||||
The following parameters will allow you to set a default value in Platform Hub: | ||||||||||
|
||||||||||
- Single-line text | ||||||||||
- Multi-line text | ||||||||||
- Dropdown | ||||||||||
- Checkbox | ||||||||||
|
||||||||||
The following parameters will not allow you to set a default value in Platform Hub and must be set inside a project: | ||||||||||
|
||||||||||
- Certificate | ||||||||||
- Sensitive | ||||||||||
- Worker Pools | ||||||||||
- Package | ||||||||||
- Previous deployment step name | ||||||||||
|
||||||||||
### Parameter scoping | ||||||||||
|
||||||||||
Only Account parameters will allow you to scope them by environments. You can choose to scope them by any environment across your Octopus instance. | ||||||||||
|
||||||||||
 | ||||||||||
|
||||||||||
## Saving a Process Template | ||||||||||
|
||||||||||
Once you've finished making changes to your process template you can commit them to save the changes to your Git repository. You can either **Commit** with a description or quick commit without one. | ||||||||||
|
||||||||||
 | ||||||||||
|
||||||||||
## Publishing a Process Template | ||||||||||
|
||||||||||
Once you've made your changes, you will have to publish the template to reflect them inside the process template within a project. You will have four options to choose from when publishing changes: | ||||||||||
|
||||||||||
- Major changes (breaking) | ||||||||||
- Minor changes (breaking) | ||||||||||
- Patch (bug fixes) | ||||||||||
- Flag as pre-release | ||||||||||
|
||||||||||
:::hint | ||||||||||
The first time you publish a template you can only publish a major or pre-release version | ||||||||||
::: | ||||||||||
|
||||||||||
Selecting any option increments the version number following Semantic Versioning. For minor or patch updates, consuming projects that accept these changes will automatically upgrade to the newly published version. | ||||||||||
|
||||||||||
 | ||||||||||
|
||||||||||
### Pre-releases | ||||||||||
|
||||||||||
If you wish to test your changes before publishing a major, minor, or patch version, you can mark a template as a pre-release version. | ||||||||||
|
||||||||||
 | ||||||||||
|
||||||||||
## Sharing a template | ||||||||||
|
||||||||||
You must share the process template before it can be consumed by any projects. Process Templates can be shared with all current and future spaces, or a select few spaces. | ||||||||||
|
||||||||||
:::hint | ||||||||||
Sharing settings can be updated anytime. | ||||||||||
::: | ||||||||||
|
||||||||||
 | ||||||||||
|
||||||||||
## A Hello world deployment process in a process template | ||||||||||
|
||||||||||
To define a simple deployment process in Octopus that executes a hello world script on the Octopus Server, complete the following steps: | ||||||||||
|
||||||||||
1. Navigate to **Platform Hub** | ||||||||||
2. Add a process template | ||||||||||
3. Name the template, for instance, "Hello World", and add an optional description. | ||||||||||
4. Add a deployment step. | ||||||||||
5. Choose the type of step you'd like to add to filter the available steps. | ||||||||||
6. Find the **Run a Script** step and add it to your deployment process. | ||||||||||
7. In the Process Editor, give the step a name, for instance "Run a Hello World script". | ||||||||||
8. In the Execution Location section use the **Run on the worker pool parameter** option. | ||||||||||
9. Create a Worker Pool parameter. | ||||||||||
10. Add the Worker Pool parameter to the **Worker Pool** field. | ||||||||||
11. Paste the following PowerShell script into the **Inline Source Code** editor: | ||||||||||
|
||||||||||
```ps | ||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||||||
Write-Host "Hello, World!" | ||||||||||
``` | ||||||||||
|
||||||||||
12. Commit your template. | ||||||||||
13. Publish and Share your template. | ||||||||||
|
||||||||||
You now have a simple Hello World process template that can be published and shared with any project. |
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.
Minor nitpick. This screen says Add credentials to use in version-controlled projects. My understanding is that credentials referenced here can be used in projects that are database-backed too. Possibly the same text has been reused from the Library page?