Cloud customer?
Start for Free>
Upgrade in MyJFrog >
What's New in Cloud >





Overview

ABuildInforesource is the metadata associated with a build in Artifactory.


JFrog Pipelines automatically creates BuildInfo when any of the Build steps likeMvnBuild,NpmBuild,GradleBuild, orDockerBuildare used to generate packages.

BuildInfo is published to Artifactory:

Page Contents


YAML Schema

The YAML schema for BuildInfo:

resources: - name:  type: BuildInfo configuration: sourceArtifactory: artifactoryIntegration buildName:  buildNumber:  pin: versionId:  buildName:  buildNumber: 

Tags

name

Analphanumericstring (underscores are permitted) that identifies the resource.

type

Must beBuildInfofor this resource type.

configuration

Specifies all configuration selections for the resource.

Tag

Description

Required/Optional
sourceArtifactory The name of theArtifactory Integration. Required

buildName

The name of the build to associate with this BuildInfo. Recommend using the environment variable available from the step that generated the build.

Optional
buildNumber

The number of the build to associate with this BuildInfo. Can bean integer, a semantic version, or a string.

Recommend using the environment variable available from the step that generated the build.

Optional
pin

This configuration can be used to pin the resource to a specific version. The pinned resource version will be used by the steps that reference this resource as an input and newer versions will be ignored.

Users have two configuration options when selecting the BuildInfo resource version to be pinned:

  • versionId: Resource version Id (can be obtained through the UI)

  • buildName: The name of the build to be pinned
  • buildNumber: The number of the build to be pinned

Steps that use the resource as an output can still produce new versions. New versions will be visible for steps using the resource as an input as long as they are part of the same run of the step that created the version.

When creating a new run,manual custom triggercan still be used to override the pinned version to a different one.

Optional

Environment Variables

WheneverBuildinfois used in a step, a set of environment variables is automatically made available that can be used in your step.

Environment Variable

Description

res__name
Name of the resource
res_ < resource_name > _buildName
The name of the build associated with this BuildInfo.
res__buildNumber
The number of the build associated with this BuildInfo.
res__targetRepo
When set byPromoteBuild, the name of a repository in Artifactory for the BuildInfo.

Examples

Example 1

resources: - name: myGitRepo type: GitRepo configuration: gitProvider: my_github path: jfrog/jfrog-pipelines-simple-example branches: include: master - name: myBuildInfo type: BuildInfo configuration: sourceArtifactory: art buildName: SampleApp buildNumber: 1 pipelines: - name: basic_pipeline configuration: environmentVariables: readOnly: my_env_var: "hello" steps: - name: step_1 type: Bash configuration: inputResources: - name: myGitRepo outputResources: - name: myBuildInfo execution: onExecute: - echo $my_env_var - if [ -z $app_version ]; then add_pipeline_variables app_version=1.0.0; else app_version=$(bump_semver $app_version minor); fi - write_output myBuildInfo "buildNumber=$app_version" - add_run_variables run_var="hello" - name: step_2 type: Bash configuration: inputResources: - name: myBuildInfo runtime: type: image image: auto: language: java versions: ['11'] execution: onExecute: - echo $run_var - echo $res_myBuildInfo_buildNumber - name: step_3 type: Bash configuration: environmentVariables: step_env_var1: "hello" inputSteps: - name: step_2 execution: onExecute: - echo $step_env_var1 - name: step_4 type: Bash configuration: inputSteps: - name: step_2 execution: onExecute: - echo $app_version - name: step_5 type: Bash configuration: inputSteps: - name: step_3 - name: step_4 integrations: - name: my_github execution: onExecute: - 'curl -H "Authorization: token ${int_my_github_token}" ${int_my_github_url}/rate_limit'
  • No labels
Copyright © 2022 JFrog Ltd.