Repository navigation
Docs for channels and lifecycles in project templates - #3464
Conversation
|
Pull request environment is available at https://stoctodocspr3464.z22.web.core.windows.net/. You can view the ephemeral environment status in Octopus Deploy. This environment will be automatically deprovisioned when the pull request is closed, or after 7 days of inactivity. |
566280f to
5dcc747
Compare
8514769 to
4c8cbe3
Compare
IsaacCalligeros95
left a comment
There was a problem hiding this comment.
A couple of comments/thoughts, nothing major and don't feel like they need to be addressed. Corey & Ryan will probably have a better perspective on the docs but figured I'd have a quick read
| Without a shared definition of breaking vs. non-breaking, teams will interpret these differently. A starting point for a versioning policy: | ||
|
|
||
| - **Major**: The change fundamentally alters how the template works. Parameters have been added or removed. Consumers need to review and test the update before accepting it. | ||
| - **Major**: The change fundamentally alters how the template works. Parameters have been added or removed, or a channel has been renamed or deleted. Consumers need to review and test the update before accepting it. |
There was a problem hiding this comment.
Nit: Is it worth mentioning lifecycles here as well or do we only do this for channels?
There was a problem hiding this comment.
This doesn't appear to happen for lifecycles, and I'd hazard a guess because we don't reference lifecycles outside of the channel. You don't scope to a lifecycle so deleting it/renaming it only has to be updated in the channel reference.
| - Existing releases that reference the channel stop working until someone re-maps them to another channel. | ||
| - Existing triggers that reference the channel stop working until someone re-maps them to another channel. | ||
|
|
||
| When making such changes publish a major version, so consumers can review and apply the change deliberately. |
There was a problem hiding this comment.
Because this is enforced would something along the lines of this work?
| When making such changes publish a major version, so consumers can review and apply the change deliberately. | |
| Major versioning is enforced for these changes so consumers can review and adopt the updates deliberately. |
|
|
||
| In a project template, channels reference lifecycles that reside within the project template itself. | ||
|
|
||
| Unlike a regular project, a project template lets you delete a channel or change its filename even when projects using the template have releases or triggers that reference it. Doing so has consequences for every project using the template: |
There was a problem hiding this comment.
Probably not worth adding, I think this would be clear to most users but it might clarify things
| Unlike a regular project, a project template lets you delete a channel or change its filename even when projects using the template have releases or triggers that reference it. Doing so has consequences for every project using the template: | |
| Unlike a regular project, a project template lets you delete a channel or change its filename even when projects using the template have releases or triggers that reference it. Doing so has consequences for every project using the template at publish time: |
There was a problem hiding this comment.
Building on your suggestion Isaac:
| Unlike a regular project, a project template lets you delete a channel or change its filename even when projects using the template have releases or triggers that reference it. Doing so has consequences for every project using the template: | |
| Unlike a regular Project, a Project Template allows you to delete a Channel or change it's filename in OCL, even when Projects using the template have Releases or Triggers that reference it. Publishing a new version of the Project Template with these changes will have consequences for Projects that accept the new version: |
|
|
||
| ## Channels | ||
|
|
||
| [Channels](/docs/releases/channels) in project templates function the same as they do in projects. You can define channels based on the intended release strategies for projects that use this template. Every project template comes with a default channel. |
There was a problem hiding this comment.
Is it worth calling out that tenants are passed through via parameters similar to how environments are passed through to templated lifecycles?
There was a problem hiding this comment.
Agreed that'd be good to call out as it's one of the differences between Platform Hub and Projects.
| [Channels](/docs/releases/channels) in project templates function the same as they do in projects. You can define channels based on the intended release strategies for projects that use this template. Every project template comes with a default channel. | ||
|
|
||
| :::div{.warning} | ||
| Ephemeral environment channels aren't yet supported in project templates. |
There was a problem hiding this comment.
Project Templates should be capitalised as they're a noun. The same applies to all the usages of Channels/Lifecycles/Projects etc.
There was a problem hiding this comment.
I've checked through our docs, and we're really inconsistent with this so it's probably okay to just leave them as is.
I checked our writing guide skill, and it defines:
"As a general rule, capitalize words and terms that are proper nouns or would normally be capitalized. If you're uncertain, default to not capitalizing terms."
The fact that we capitalize Platform Hub says we should extend that capitalization to all Octopus concepts, but like I said we're fairly inconsistent with this, leaning more towards not using them. So for now let's leave it, and we'll reflect on it across all our Platform Hub docs at once.
There was a problem hiding this comment.
I find it very hard to know when to capitalise and when not too. According to the writing guide there is a difference between talking about the feature Project Templates (should be capitalised) and a group of project templates (lowercase) or a single project template (lowercase).
The sentence above could be either IMO. 🤷♀️
Like you said - I'm going to leave it for now
corey-underdown
left a comment
There was a problem hiding this comment.
Looks good, covers all the things on my mind. Few wording suggestions.
Can ignore my comments around capitalization of proper nouns. We're so inconsistent and not capitalizing matches better to existing docs.
|
|
||
| In a project template, channels reference lifecycles that reside within the project template itself. | ||
|
|
||
| Unlike a regular project, a project template lets you delete a channel or change its filename even when projects using the template have releases or triggers that reference it. Doing so has consequences for every project using the template: |
There was a problem hiding this comment.
Building on your suggestion Isaac:
| Unlike a regular project, a project template lets you delete a channel or change its filename even when projects using the template have releases or triggers that reference it. Doing so has consequences for every project using the template: | |
| Unlike a regular Project, a Project Template allows you to delete a Channel or change it's filename in OCL, even when Projects using the template have Releases or Triggers that reference it. Publishing a new version of the Project Template with these changes will have consequences for Projects that accept the new version: |
| - Existing releases that reference the channel stop working until someone re-maps them to another channel. | ||
| - Existing triggers that reference the channel stop working until someone re-maps them to another channel. | ||
|
|
||
| When making such changes publish a major version, so consumers can review and apply the change deliberately. |
| [Channels](/docs/releases/channels) in project templates function the same as they do in projects. You can define channels based on the intended release strategies for projects that use this template. Every project template comes with a default channel. | ||
|
|
||
| :::div{.warning} | ||
| Ephemeral environment channels aren't yet supported in project templates. |
There was a problem hiding this comment.
I've checked through our docs, and we're really inconsistent with this so it's probably okay to just leave them as is.
I checked our writing guide skill, and it defines:
"As a general rule, capitalize words and terms that are proper nouns or would normally be capitalized. If you're uncertain, default to not capitalizing terms."
The fact that we capitalize Platform Hub says we should extend that capitalization to all Octopus concepts, but like I said we're fairly inconsistent with this, leaning more towards not using them. So for now let's leave it, and we'll reflect on it across all our Platform Hub docs at once.
526a029 to
d673df2
Compare
Adding documentation around project template lifecycles and channels.
closes SEA-2
closes SEA-5
closes SEA-12