Pipeline Configuration

JFrog Pipelines Documentation

ft:sourceType
Paligo

The optional configuration section can specify an execution environment for all steps in the pipeline. While this configuration can be defined per step, it is sometimes more convenient to define it at a pipeline level if it's going to be the same for all steps in the pipeline.

The basic format of each configuration section is:

Tag

Description

environmentVariables

Variables defined here are available for use in every step in the pipeline. These variables are read-only; they cannot be redefined in a step.

If the following variables are set, they will be used:

  • JFROG_CLI_BUILD_NAME : If set, the pipeline uses this value instead of the default pipeline name for the build info collected.

  • JFROG_CLI_BUILD_NUMBER : If set, the pipeline uses this value instead of the default run number for the build info collected.

  • USE_LOCAL_JFROG_CLI : If set as true, the local JFrog CLI on the host or in the image (depending on runtime configuration) is used instead of the version packaged with JFrog Pipelines. This is not recommended and native steps may not be able to run with the local JFrog CLI version.

  • JFROG_XRAY_URL : If jfrogCliVersion is set to 2, this variable may be used to specify an Xray URL for use when configuring the JFrog CLI with an Artifactory integration. In most cases, the platform URL will be correct and JFROG_XRAY_URL is not required.

nodePool

Optionally specify a specific node pool where your steps will execute. If not specified, then the node pool set as the default will be used.

For more information, see Choosing Node Pools.

affinityGroup

Optionally specify an Affinity Group name to specify that all steps in this Pipeline are part of one Affinity Group. This means that all steps will run on the same build node.

For more information, see Running multiple steps on the same build node.

runtime

This section allows you to specify the default runtime environment for steps in the pipeline. The options are:

  • Run steps directly on the host machine

  • Run steps inside the node pool's default Docker container or one of its language-specific variants

  • Run steps inside a custom Docker container of your choice

For more information, see Choosing your Runtime Image.

chronological

Any runs of the pipeline will not start running while another run of the same pipeline is processing if chronological is set to true. The default is false, allowing runs to execute in parallel if there are nodes available.

dependencyMode

Specifies when the pipeline may run relative to other pipelines connected by resources. If any of these three settings are true, new runs will not be created for resources updated by other pipelines if there is already a waiting run with the same resources and steps. So if a pipeline runs twice consecutively and the following pipeline has waitOnParentComplete set to true, the following pipeline will only run once. When the pipelines do run, they will use the latest resource versions.

The optional settings are:

  • waitOnParentComplete : If true, the pipeline will not start running when a pipeline that outputs a resource that is an input to this pipeline has a waiting or processing run.

  • waitOnParentSuccess : If true, the pipeline will not start running when a pipeline that outputs a resource that is an input to this pipeline has a processing run or the last complete run was not successful.

  • waitOnChildComplete : If true, the pipeline will not start running when a pipeline that has an input resource that is the output of this pipeline has a waiting or processing run unless that child pipeline is waiting for this pipeline to complete.

retentionPolicy

Optionally specify if the pipeline run data should be deleted after a specific number of days. Also, provides the ability to keep a minimum number of pipeline runs data:

  • maxAgeDays : Specifies number of days after which the pipeline run data will be deleted (cannot exceed the system level setting). Setting this value to 0 means infinite retention.

  • minRuns : Specifies the minimum number of pipeline runs data to keep, regardless of their age (cannot exceed the system level setting).

For more information, see Setting Retention Policy.

jfrogCliVersion

Optionally specify either 1 to use JFrog CLI v1 or 2 to use JFrog CLI v2 in the steps in the pipeline. The default is currently v1.

integrations

Specifies Integrations, similar to the integrations section in a step, to be input to all steps in the Pipeline. Integrations listed here may not be listed in the integrations section of a step in this Pipeline.

For more information, see Pipelines Integrations.

Note

Pipeline-level declarations for integrations are applicable for all steps. You cannot choose the steps that will not use those integrations.

inputResources

Specifies Resources, similar to the inputResources section in a step, to be inputs to all steps in the Pipeline. Resources listed here may not be listed in the inputResources or out putResources sections of any step in this Pipeline. Each Resource in inputResources should be specified by name and branch (if from a multi-branch Pipeline Sources) and the trigger option may be set to control if updates to the resource should trigger steps in the Pipeline.

For more information, see Using Resources.

Note

Pipeline-level declarations for input resources are applicable for all steps. You cannot choose the steps that will not use those input resources.

outputResources

Specifies Resources, similar to the out putResources section in a step, to be inputs to all steps in the Pipeline. Resources listed here may not be listed in the inputResources or out putResources sections of any step in this Pipeline. Each Resource in inputResources should be specified by name and branch (if from a multi-branch Pipeline Sources).

For more information, see Using Resources.

Note

Pipeline-level declarations for output resources are applicable for all steps. You cannot choose the steps that will not use those output resources.

Any step can override the pipeline's default runtime configuration if needed to configure its own runtime selection.