Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Move promotion entities up one level in toc#1160

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 ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Merged
NimRegev merged 5 commits intomasterfromgitops-promotion-entities-navigation
Jan 28, 2025
Merged
Show file tree
Hide file tree
Changes fromall commits
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
4 changes: 0 additions & 4 deletions_data/home-content.yml
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -56,10 +56,6 @@
localurl: /docs/promotions/create-promotion-sequence/
- title: Promotion tutorials
localurl: /docs/promotions/promotion-scenarios/
- title: Entity configuration
localurl: /docs/promotions/entities
- title: YAML specs
localurl: /docs/promotions/entities/yaml/
- title: Trigger promotions
localurl: /docs/promotions/trigger-promotions/
- title: Tracking releases for products
Expand Down
27 changes: 11 additions & 16 deletions_data/nav.yml
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -421,26 +421,21 @@
url: "/promotions-overview"
- title: Getting started
url: "/getting-started"
- title: Promotion tutorials
url: "/promotion-scenarios"
- title: Promotion building blocks
url: "/promotion-components"
- title: Promotion setup guidelines
url: "/create-promotion-sequence"
- title: Entity configuration
url: "/entities"
sub-pages:
- title: Promotion Flows
url: "/promotion-flow"
- title: Promotion Policies
url: "/promotion-policy"
- title: Promotion Workflows
url: "/promotion-workflow"
- title: Product Settings
url: "/product-promotion-props"
- title: YAML specs
url: "/yaml"
sub-pages:
- title: Promotion Flows
url: "/promotion-flow"
- title: Promotion Policies
url: "/promotion-policy"
- title: Promotion Workflows
url: "/promotion-workflow"
- title: Customize product promotion settings
url: "/product-promotion-props"
- title: Promotion entity YAMLs
url: "/yaml"
sub-pages:
- title: Product YAML
url: "/product-crd"
- title: Promotion Template YAML
Expand Down
137 changes: 137 additions & 0 deletions_docs/gitops-quick-start/policy-multi-env-promotion.md
View file
Open in desktop
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,137 @@
---
title: "Quick start: Advanced Promotion Flow with Promotion Workflows"
description: "Promote product apps between multiple environments with promotion conditions"
group: gitops-quick-start
toc: true
redirect_from:
- /docs/promotions/promotion-scenarios/policy-multi-env-promotion/
---

## Automated promotions: Advanced Promotion Flow with Promotion Workflows

With a Promotion Flow you can [automate promotions across multiple environments]({{site.baseurl}}/docs/gitops-quick-start/multi-env-sequential-flow/).

This quick start explores how to enhance Promotion Flows by configuring conditions for each environment in the flow, ensuring that changes are promoted to environments only on meeting the specific requirements for the environment.

You can automate and enforce gates throughout your promotion processes using Promotion Workflows.
Promotion Workflows are essentially Argo Workflows customized for promoting changes through your environments.
For detailed information, see [Configuring Promotion Workflows]({{site.baseurl}}/docs/promotions/promotion-workflow/).

## Promotion Workflows in Promotion Flows
Promotion Workflows are designed to define the conditions under which changes are promoted to the next environment. They provide a way to automate testing, quality checks, validation, and any other requirements based on your deployment process, establishing gates that control the flow of changes between environments.

You can create workflows tailored to the specific tasks required during a promotion and categorize them based on the stage of the promotion process in which they are executed, as Pre- and Post-Action Workflows.

##### Pre-Action Workflow
A Promotion Workflow that runs _before the promotion action is triggered_. These workflows can be used for tasks like smoke tests, unit tests, security scans, or any other validation that must pass before a change is promoted to the next environment.

The Pre-Action Workflow plays a critical role in ensuring that changes meet all necessary requirements before being promoted to the next environment. It acts as the gatekeeper, validating changes and stopping the promotion if any tests or validations fail.


##### Post-Action Workflows
A Promotion Workflow that runs _after the promotion action has completed_. These workflows can be used for tasks like performance monitoring, database migrations, or notifications to inform stakeholders that the promotion is complete.

The Post-Action Workflow allows you to monitor and verify the effects of the promotion after it has taken place. This workflow helps ensure the promoted changes behave as expected in the new environment.

## How to create Promotion Workflows





## Requirements

* [GitOps Runtime]({{site.baseurl}}/docs/quick-start/gitops-quick-start/runtime/)
* [Git Source]({{site.baseurl}}/docs/gitops-quick-start/gitops-runtimes/create-git-source/) to store application manifests
* [Environments]({{site.baseurl}}/docs/gitops-quick-start/products/quick-start-gitops-environments/)
For a Promotion Flow, you need at least three environments.
Here we use `dev`, `qa`, and `prod`.
* [Products]({{site.baseurl}}/docs/gitops-quick-start/products/quick-start-product-create/)
* [Applications]({{site.baseurl}}/docs/gitops-quick-start/products/create-app-ui/)
Each environment must have an application for the product.
For example, `demo-trioapp-dev`, `demo-trioapp-qa`, and `demo-trioapp-prod`representing the development, testing, and production versions.
The structure of the repos with the resources accessed by the applications must be consistent across all the three applications.
If it works for you, copy the corresponding subfolders in [demo-applications](https://github.com/codefresh-sandbox/codefresh-quickstart-demo/tree/main/demo-applications) with the resources. <!--- add a link to the repo? -->
* [Promotion Workflows]({{site.baseurl}}/docs/promotions/entities/promotion-workflow/#create-promotion-workflows)

## Assign Pre- and Post-Action Workflows to environments in Promotion Flow
To ensure each environment's specific requirements are met, assign Promotion Workflows to govern promotion behavior.
In this quick start, we’ll define the Promotion Workflows to govern promotion behavior for the `qa` and `prod` environments.

1. From the Promotion Flow list, select the Promotion Flow you created, `multi-env-sequential-promotion` for the quick start.
1. In the Settings panel, update the **Version** to indicate changes in the flow, for example, `2.0`.
1. Assign the workflows by clicking the respective controls and selecting the Promotion Workflows and the Promotion Action from the list.
The example below shows the Pre-Action Workflows available.

{% include
image.html
lightbox="true"
file="/images/quick-start/promotions/quick-start-seq-promo-policy-settings.png"
url="/images/quick-start/promotions/quick-start-seq-promo-policy-settings.png"
alt="Promotions quick start: Pre-Action Workflow to govern promotion behavior for environment"
caption="Promotions quick start: Pre-Action Workflow to govern promotion behavior for environment"
max-width="60%"
%}

{% include
image.html
lightbox="true"
file="/images/quick-start/promotions/quick-start-seq-promo-policy-populated.png"
url="/images/quick-start/promotions/quick-start-seq-promo-policy-populated.png"
alt="Promotions quick start: Target environment configured with Promotion Workflows and Action"
caption="Promotions quick start: Target environment configured with Promotion Workflows and Action"
max-width="60%"
%}

{:start="4"}
1. Repeat _step 3_ to select the Promotion Workflows and Actions for the other target environments in the Promotion Flow.
For this quick start, we'll select the same workflows and the same promotion action for `prod` as we did for `qa`.



Here's the YAML view of the flow with the workflows and promotion actions.

{% include
image.html
lightbox="true"
file="/images/quick-start/promotions/quick-start-seq-promo-policy-yaml.png"
url="/images/quick-start/promotions/quick-start-seq-promo-policy-yaml.png"
alt="Promotions quick start: YAML view of Promotion Flow with Promotion Workflows"
caption="Promotions quick start: YAML view of Promotion Flow with Promotion Workflows"
max-width="60%"
%}

{:start="5"}
1. To save the changes, click **Save Promotion Flow**.
1. Continue with [Trigger Promotion Flow and monitor product release](#trigger-promotion-flow-and-monitor-product-release).


## Trigger Promotion Flow and monitor product release
Trigger the Promotion Flow updated with the appropriate Pre- and Post-Action Workflows, and monitor its progress.

The difference between the previous release (without workflows), and this one (with workflows), for the same Promotion Flow (`multi-env-sequential-promotion`), is that changes will only be promoted to the next environment when all workflows associated with the previous environment are complete.

1. Open the Promotion Flow, for example,`multi-env-sequential-promotion` and click **Trigger**.
1. Select the product, the application to promote, and then click **Trigger** once again.
1. Click **View Release Details**.
In the example below, the current release view shows the `qa` and `prod` environments with the Pre- and Post-Action Workflows defined for each environment.

{% include
image.html
lightbox="true"
file="/images/quick-start/promotions/quick-start-seq-promo-policy-release.png"
url="/images/quick-start/promotions/quick-start-seq-promo-policy-release.png"
alt="Promotions quick start: Release view for gated Promotion Flow"
caption="Promotions quick start: Release view for gated Promotion Flow"
max-width="60%"
%}



## What's next
In the next quick start for promotions, we'll explore how to configure a Promotion Flow with parallel promotions, allowing changes to be promoted simultaneously across multiple environments.

[Quick start: Advanced Promotion Flow: Parallel promotions across environments]({{site.baseurl}}/docs/gitops-quick-start/parallel-multi-env-promotion/)



View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -92,7 +92,7 @@ By now, you’ve successfully created environments, your first product, added ap
Now that you’ve mastered the basics, learn more on promotion settings for products and configuring promotion entities.
[Configuring version and promotable properties for products]({{site.baseurl}}/docs/products/promotion-version-properties/)
[Configuring promotion flows and triggers for products]({{site.baseurl}}/docs/products/promotion-flow-triggers/)
[Configuring promotion entities]({{site.baseurl}}/docs/promotions/entities/)




Expand Down
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -12,7 +12,7 @@ Now that we have covered [Multi-environment sequential promotion]({{site.baseurl

Codefresh makes it easy to automate and enforce gates throughout your promotion processes using Promotion Workflows.
Promotion Workflows are essentially Argo Workflows customized for promoting changes through your environments.
For detailed information, see [Configuring Promotion Workflows]({{site.baseurl}}/docs/promotions/entities/promotion-workflow/).
For detailed information, see [Configuring Promotion Workflows]({{site.baseurl}}/docs/promotions/promotion-workflow/).

## Promotion Workflows for promotion gates
Promotion Workflows are designed to define the conditions under which changes are promoted to the next environment. They provide a way to automate testing, quality checks, validation, and any other requirements based on your deployment process, establishing gates that control the flow of changes between environments.
Expand DownExpand Up@@ -41,7 +41,7 @@ In this quick start, we’ll define the Promotion Workflows to govern promotion


### Before you begin
* [Create Promotion Workflows]({{site.baseurl}}/docs/promotions/entities/promotion-workflow/#create-promotion-workflows)
* [Create Promotion Workflows]({{site.baseurl}}/docs/promotions/promotion-workflow/#create-promotion-workflows)

### Step-by-step

Expand Down
16 changes: 8 additions & 8 deletions_docs/installation/gitops/shared-configuration.md
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -41,9 +41,9 @@ Here are a few types of configuration definitions stored in the Shared Configura
* [OAuth2]({{site.baseurl}}/docs/administration/account-user-management/oauth-setup/) authentication applications
* Manifests for promotion entities:
* [Products]({{site.baseurl}}/docs/products/configure-product-settings/)
* [Promotion Workflows]({{site.baseurl}}/docs/promotions/entities/promotion-workflow)
* [Promotion Policies]({{site.baseurl}}/docs/promotions/entities/promotion-policy/)
* [Promotion Flows]({{site.baseurl}}/docs/promotions/entities/promotion-flow/)
* [Promotion Workflows]({{site.baseurl}}/docs/promotions/promotion-workflow)
* [Promotion Policies]({{site.baseurl}}/docs/promotions/promotion-policy/)
* [Promotion Flows]({{site.baseurl}}/docs/promotions/promotion-flow/)
* [Promotion Templates]({{site.baseurl}}/docs/products/configure-product-settings/#configure-promotion-settings)

See [Shared Configuration Repo structure](#shared-configuration-repo-structure).
Expand DownExpand Up@@ -149,14 +149,14 @@ The `resources` directory contains the resources shared by _all_ clusters manage
| Shared Configuration Repo | Description |
| ---------- | -------- |
| `resources/all-runtimes-all-clusters` | Contains resource manifests applied to all the GitOps Runtimes in the account and to all the clusters managed by those Runtimes. In the above example, `manifest2.yaml` is applied to both `runtime1` and `runtime2`. |
|`resources/all-runtimes-all-clusters/promotion-workflows` | Stores manifests of Promotion Workflows, available to all Runtimes in the account.<br>See [Promotion Workflows]({{site.baseurl}}/docs/promotions/entities/promotion-workflow). |
|`resources/all-runtimes-all-clusters/promotion-workflows` | Stores manifests of Promotion Workflows, available to all Runtimes in the account.<br>See [Promotion Workflows]({{site.baseurl}}/docs/promotions/promotion-workflow). |
|`resources/control-planes` | Optional. When defined, applies every resource manifest to each Runtime’s `in-cluster`. Config map resources for example, when committed to this subdirectory, are deployed to each Runtime’s `in-cluster`. |
| `resources/app-projects` | Contains application project resources which control deployment destinations for applications. |
| `resources/configurations` | Contains platform-level resources which are Runtime-agnostic, essential for functionality related to product and promotion entities in GitOps. |
| `resources/configurations/products` |Contains manifests of product entities. All settings including source location for application version, promotable properties, promotion flows with trigger conditions if defined are saved. Note that applications assigned to products are not saved in the manifest. Product manifests are available to users with the required ABAC permissions. <br>See [Product Settings]({{site.baseurl}}/docs/products/configure-product-settings/) and [Product YAML]({{site.baseurl}}/docs/promotions/entities/yaml/product-crd/).|
| `resources/configurations/promotion-flows`| Contains manifests of promotion flows with the trigger and target environments, and custom promotion policy settings, if any.<br>See [Promotion Flow configuration]({{site.baseurl}}/docs/promotions/entities/promotion-flow/) and [Promotion Flow YAML]({{site.baseurl}}/docs/promotions/entities/yaml/promotion-flow-crd/).|
|`resources/configurations/promotion-policies`| Contains manifests of promotion policies with the Pre- and Post-Action Workflows if defined, the Promotion Action, and target products and environments.<br>See [Promotion Policy configuration]({{site.baseurl}}/docs/promotions/entities/promotion-policy/) and [Promotion Policy YAML]({{site.baseurl}}/docs/promotions/entities/yaml/product-crd/).|
|`resources/configurations/promotion-templates`| Contains manifests of promotion templates defining the sources for the release version and the properties to be promoted. <br>See [Promotion Template configuration]({{site.baseurl}}/docs/products/configure-product-settings/#configure-promotion-settings) and [Promotion Template YAML]({{site.baseurl}}/docs/promotions/entities/yaml/promotion-template-crd/).|
| `resources/configurations/products` |Contains manifests of product entities. All settings including source location for application version, promotable properties, promotion flows with trigger conditions if defined are saved. Note that applications assigned to products are not saved in the manifest. Product manifests are available to users with the required ABAC permissions. <br>See [Product Settings]({{site.baseurl}}/docs/products/configure-product-settings/) and [Product YAML]({{site.baseurl}}/docs/promotions/yaml/product-crd/).|
| `resources/configurations/promotion-flows`| Contains manifests of promotion flows with the trigger and target environments, and custom promotion policy settings, if any.<br>See [Promotion Flow configuration]({{site.baseurl}}/docs/promotions/promotion-flow/) and [Promotion Flow YAML]({{site.baseurl}}/docs/promotions/yaml/promotion-flow-crd/).|
|`resources/configurations/promotion-policies`| Contains manifests of promotion policies with the Pre- and Post-Action Workflows if defined, the Promotion Action, and target products and environments.<br>See [Promotion Policy configuration]({{site.baseurl}}/docs/promotions/promotion-policy/) and [Promotion Policy YAML]({{site.baseurl}}/docs/promotions/yaml/product-crd/).|
|`resources/configurations/promotion-templates`| Contains manifests of promotion templates defining the sources for the release version and the properties to be promoted. <br>See [Promotion Template configuration]({{site.baseurl}}/docs/products/configure-product-settings/#configure-promotion-settings) and [Promotion Template YAML]({{site.baseurl}}/docs/promotions/yaml/promotion-template-crd/).|
|`resources/runtimes/<runtime_name>`| Optional. Runtime-specific subdirectory. Every resource manifest in a runtime-specific subdirectory is applied to only the GitOps Runtime defined by `<runtime_name>`. In the above example, `manifest4.yaml` is applied only to `runtime1`, and `manifest5.yaml` is applied only to `runtime2`. |


Expand Down
Loading

[8]ページ先頭

©2009-2025 Movatter.jp