diff --git a/_data/nav.yml b/_data/nav.yml index fc57071eb..afedb8a14 100644 --- a/_data/nav.yml +++ b/_data/nav.yml @@ -368,6 +368,12 @@ - title: Troubleshooting Argo CD applications url: "/troubleshooting-gitops-apps" +- title: Promotions + url: "/promotions" + pages: + - title: Promotion Policies + url: "/promotion-policy" + - title: Pipelines url: "/pipelines" pages: diff --git a/_docs/promotions/promotion-policy.md b/_docs/promotions/promotion-policy.md new file mode 100644 index 000000000..700dfdeb8 --- /dev/null +++ b/_docs/promotions/promotion-policy.md @@ -0,0 +1,319 @@ +--- +title: "Configure Promotion Policies" +description: "Run validations through Promotion Policies to assess environment readiness before orchestrating promotion" +group: promotions +toc: true +--- + + + + +When a promotion is triggered for a product in an environment, it's essential to validate the environment's readiness before deploying changes and promoting the Product. +Readiness validation ensures that the product's applications and their dependencies meet the necessary requirements and standards for deployment in the target environment. +These validations include various checks, such as code quality, unit or smoke tests, compatibility with dependencies, security compliance, +and other relevant factors specific to the target environment. + +##### Promotion Policies for readiness validation +Codefresh empowers you to create and automate environment readiness validations through Promotion Policies. +A Promotion Policy combines promotion settings defining workflows to validate environment readiness, and targets defining the products or environments for which to implement the Policies. + +The Policies can be tailored for any combination of Products and Environments, or be generic to match all Products and Environments, giving you the flexibility you need to implement the most complex to the most simple of policies. + +You can create dedicated Promotion Policies, or define them as part of a Promotion Flow which orchestrates the promotion and deployment of the Product across all Environments. + +DIAGRAM + +Review the [settings](#promotion-policy-settings) you can configure for a Promotion Policy, and how to [create a Promotion Policy](#create-a-promotion-policy). + +##### Promotion Policy implementation +More than one Promotion Policy can match the same target Product or Environment. +The logic for applying Promotion Policy settings is based on predefined priorities and target attributes. +[Promotion Policy logic](#promotion-policy-logic) details different scenarios and examples describing the implementation logic. + + + + + + +## Key features of Promotion Policies + +* **Automated validation** + Validations defined in the Promotion Policy are enforced automatically, minimizing the risk of errors, and ensuring consistency and reliability in deployments. + +* **Flexible configuration** + Promotion Policies are highly customizable to match your requirements. Define Policies per Product, per Environment, + or with broader coverage for a specific Product across all environments, or only by specific types of Environments. + +* **Priority-driven enforcement** +In cases where multiple Promotion Policies match Products, Environments, or a combination of both, Codefresh merges Promotion Settings from matching Policies in order of priority, ensuring seamless enforcement. + +* **On-demand evaluation** +Visualize Promotion Settings applied to a Product-Environment pair with Evaluate Promotion Policy option. Not only does this option identify Product-Environment pairs which do match existing Promotion Policies, it also identifies misconfigured policies. + +* **Git-based and custom promotion actions** +Whether your promotion actions are Git-based or utilize custom repositories and mechanisms for compiling application repositories, Codefresh supports both types of actions. + + + +See ??? + + + + + +## Promotion Policy settings & targets + +A Promotion Policy comprises the Policy's promotion settings and the Policy's targets. +The table below describes the settings and targets you can define for a Promotion Policy. + +{% include +image.html +lightbox="true" +file="/images/promotions/promotion-policy-settings.png" +url="/images/promotions/promotion-policy-settings.png" +alt="Promotion Policy settings" +caption="Promotion Policy settings" +max-width="60%" +%} + + + +{: .table .table-bordered .table-hover} +| Item | Description | +| -------------- | -------------- | +|**Name** | The name of the Promotion Policy.
The name must be unique in the cluster and must match Kubernetes naming conventions. | +|**Promotion Settings** | The settings that comprise the Promotion Policy.
{::nomarkdown}