Global settings for pipelines

Define global options for pipeline templates, yaml sources and approval behavior

You can define global parameters for all the pipelines in the account. Users can still override some of these options for individual pipelines.

Pipeline settings

Pipeline settings
  1. In the Codefresh UI, on the toolbar, click the Settings icon.
  2. From Configuration in the sidebar, select Pipeline Settings.

Pause pipeline executions

Pause builds for pipelines at the account level, for example, during maintenance.

  • Pause build execution is disabled by default.
  • When enabled:
    • New pipelines in the account are paused immediately.
    • Existing pipelines with running builds are paused only after the builds have completed execution.
  • Paused pipelines are set to status Pending, and remain in this status until Pause build execution is manually disabled for the account.

Pause Build Execution pipeline setting enabled

Pause Build Execution pipeline setting enabled

Enabling cluster-contexts for pipelines

By default, all pipelines in the account can access all clusters integrated with Codefresh. Restrict pipeline access to clusters by enabling cluster-injection for individual pipelines in the account.

Selectively restricting access to clusters for a pipeline:

  • Enhances security by restricting access to users from different teams.
  • Reduces the overall duration of the build by shortening the initialization phase. Codefresh authenticates the credentials of every cluster that the pipeline accesses during the initialization phase. This action affects build duration for accounts with large numbers of clusters.
  1. In the Codefresh UI, on the toolbar, click the Settings icon.
  2. From Configuration in the sidebar, select Pipeline Settings.
  3. Toggle Kubernetes cluster context pipeline injection to ON.

Enabling cluster contexts for injection into pipelines

Enabling cluster contexts for injection into pipelines

You can then select specific clusters for individual pipelines, through the Kubernetes cluster option in the Pipeline’s Policies section.

Template section

Here you can define global template behavior. The options are:

  • Enable pipeline templates for users. If this is enabled some pipelines can be marked as templates and users can still select them when creating a new pipeline.
  • Decide if users can clone an existing pipeline (along with its triggers and associated parameters) when creating a new pipeline.

Note that templates are simply normal pipelines “marked” as a template. There is no technical difference between templates and actual pipelines.

Pipeline YAML section

Here you can restrict the sources of pipeline YAML that users can select. The options are:

  • Enable/Disable the inline editor where YAML is stored in Codefresh SaaS
  • Enable/disable pipeline YAML from connected Git repositories
  • Enable/disable pipeline YAML from external URLs

You need to allow at least one of these options so that users can create new pipelines. We suggest leaving the first option enabled when users are still learning about Codefresh and want to experiment.

Memory usage warning for pipeline builds

Select the memory-usage threshold for pipeline builds at which to display alerts.
Memory-usage thresholds for pipeline builds are useful to both avoid premature and unnecessary warnings, and get timely warnings to avoid build failures, as needed.

Accounts with pipelines that do not consume a lot of memory can have higher thresholds, or even the maximum threshold, as they are unikely to hit available memory limits.
Resource-intensive pipelines on the contrary require lower thresholds for timely warnings to prevent build failures. 90% is recommended for such pipelines.

Since Codefresh displays the banner alert when the build memory exceeds the selected threshold, setting the threshold at 100%, means that the pipeline has already failed when you see the alert banner.

Memory usage thresholds for pipeline builds

Memory usage thresholds for pipeline builds

The selected threshold applies to all pipelines in the account. Users can always override it for individual pipelines. See Runtime settings.

Advanced pipeline options

Here you can set the defaults for advanced pipeline behavior. The options are:

  • Keep or discard the volume when a pipeline is entering approval state
  • Whether pipelines in approval state count or not against concurrency
  • Define the Service Account for Amazon ECR integration.
  • Set the default registry from which to pull images for all public Public Marketplace Steps. You can select any Docker Registry integration setup in Codefresh.
    • Example: Public Marketplace Step image is defined to use Docker Hub. If you select a integration, all Public Marketplace Step images are pulled from instead of Docker Hub.

      The default registry selected for Public Marketplace steps is ignored in all built-in pipeline steps: git-clone, freestyle, build, push, composition, launch test environment, deploy, and approval. For detailed information on built-in steps, see Steps in pipelines. The selected registry affects only custom or typed steps.

Note that the first option affects pipeline resources and/or billing in the case of SaaS pricing. It will also affect users of existing pipelines that depend on this behavior. It is best to enable/disable this option only once at the beginning.

Default Behavior for Build Step

Here you can decide if the build step will push images or not according to your organization’s needs. The options are:

  1. Users need to decide if an image will be pushed or not after it is built
  2. All built images are automatically pushed to the default registry
  3. All built images are NOT pushed anywhere by default

Note that this behavior is simply a convenience feature for legacy pipelines. Users can still use a push step in a pipeline and always push an image to a registry regardless of what was chosen in the build step.

Creating Pipelines
Codefresh YAML for pipeline definitions
Git Integration