Promotions: Setup & configuration guidelines

High-level tasks for creating, triggering, and monitoring promotions

Promotion setup guidelines

This article outlines the tasks required to configure, trigger, and monitor promotions in Codefresh GitOps.

Promotions are a critical part of continuous delivery, enabling you to move changes through environments while meeting deployment and compliance requirements. A successful promotion sequence depends on key components that define and orchestrate the promotion flow. To review these components, see Promotion building blocks.

Prerequisites

  1. Configuration Runtime
    The Configuration Runtime is a GitOps Runtime that stores promotion-related entities.
    • Designate at least one GitOps Runtime as the Configuration Runtime.
    • If no GitOps Runtime has been designated as such, Codefresh assigns one of the existing Runtimes.
  2. Admin permissions
    Only account admins can create promotion-specific entities such as Promotion Policies and Promotion Flows.

  3. User permissions
    Users need permissions to create Promotion Workflows, configure promotion settings for products, and trigger promotions.

  4. Create environments
    Environments define the starting point and destination of promotions.
    A promotion requires at least two environments:
    • Trigger environment, the source of the changes being promoted
    • Target environment, to which to promote the changes
  5. Create applications
    Applications represent the components or services to be promoted and deployed.
    To promote across an application across environments:
    • Create an instance of the application for each target environment
    • Group related applications within a product to manage them collectively
  6. Create products
    Products group related applications into a single entity.
    • Connect related applications manually or declaratively
    • Promote all applications collectively instead of promoting each individually
  7. Create Promotion Workflows
    Promotion Workflows (Argo Workflows) automate environment-specific tests and validations before and after promotion.
    • Create and use Promotion Workflows to run smoke tests, database validation, and other requirements to verify readiness.
  8. Define Promotion Policies
    Promotion Policies govern promotion behavior for environments enforcing rules, checks, and validations.
    • Define policies that combine Promotion Workflows with promotion actions such as commits, pull requests
    • The policy mechanism merges relevant settings from global policies according to priority, enforcing automated governance
  9. Create Promotion Flows
    Promotion Flows orchestrate the sequence of actions required to move and deploy changes through multiple environments.
    • Automatically integrate environments, products, Promotion Workflows, and Promotion Policies into a structured promotion process
    • Reuse Promotion Flows across products for consistent and reliable promotions
  10. Customize promotions for products After setting up promotion entities, configure additional promotion settings at the product level.
    • Promotion Templates to define attributes to be promoted across the product’s applications
    • Promotion Flows valid for the product and trigger conditions for each flow
  11. Trigger promotions
    Trigger the promotion manually or automatically.

  12. Monitor promotion releases for products
    Monitor deployment progress as applications move through the promotion sequence.
    • Use the Releases feature for products to monitor deployments

About promotions
Promotion building blocks
Trigger promotions
Tracking product releases