The following examples show how to configure a DistributeReleaseBundle step to distribute or for a dry run. For more information on DistributeReleaseBundle Pipeline steps, see DistributeReleaseBundle.
Distribute Input Release Bundle Edge Node
Distributes the input release bundle to the edge nodes defined in the distribution rule.
This example requires an Artifactory Integration or JFrog Platform Access Token Integration and a Distribution Integration.
DistributeReleaseBundle
template: true # required for local templates
valuesFilePath: ./values.yml
resources:
# Build info of first build to bundle
- name: gosvc_promoted_build_info
type: BuildInfo
configuration:
sourceArtifactory: {{ .Values.myArtifactoryIntegration }}
buildName: svc_build
buildNumber: 1
# Build info of second build to bundle
- name: appl_promoted_build_info
type: BuildInfo
configuration:
sourceArtifactory: {{ .Values.demoArtifactoryIntegration }}
buildName: backend_build
buildNumber: 1
# Release bundle
- name: release_bundle
type: ReleaseBundle
configuration:
sourceDistribution: {{ .Values.distributionIntegration }}
name: demo_rb
version: v1.0.0
# Signed version of the same release bundle
- name: signed_bundle
type: ReleaseBundle
configuration:
sourceDistribution: {{ .Values.distributionIntegration }}
name: demo_rb
version: v1.0.0
# Distribution rules
- name: distribution_rules
type: DistributionRule
configuration:
sourceDistribution: {{ .Values.distributionIntegration }}
serviceName: "*"
siteName: "*"
cityName: "*"
countryCodes:
- "CN"
- "GB"
pipelines:
- name: demo_release_mgmt
steps:
- name: bundle
type: CreateReleaseBundle
configuration:
releaseBundleName: demo_rb
releaseBundleVersion: v1.0.${run_number}
dryRun: false
sign: false
description: "some random test description"
inputResources:
- name: gosvc_promoted_build_info
trigger: true
- name: appl_promoted_build_info
trigger: true
outputResources:
- name: release_bundle
releaseNotes:
syntax: markdown
content: |
## Heading
* Bullet
* Points
- name: sign
type: SignReleaseBundle
configuration:
inputResources:
- name: release_bundle
outputResources:
- name: signed_bundle
- name: distribute
type: DistributeReleaseBundle
configuration:
dryRun: false
inputResources:
- name: signed_bundle
- name: distribution_rulesTrigger a Dry Run
Triggers a dry run of the distribution.
DistributeReleaseBundle
pipelines:
- name: distributeReleaseBundlePipeline
steps:
- name: distributeReleaseBundleDryRun
type: DistributeReleaseBundle
configuration:
dryRun: true
inputResources:
- name: myReleaseBundle
- name: myInputDistributionRule
Triggers Distribution and Updates Output Resource
Triggers a distribution and updates the output resource with the name and version of the input.
DistributeReleaseBundle
pipelines:
- name: distributeReleaseBundlePipeline
steps:
- name: distributeReleaseBundleDryRun
type: DistributeReleaseBundle
configuration:
dryRun: false
inputResources:
- name: myReleaseBundle
- name: myInputDistributionRule
outputResources:
- name: myOutputReleaseBundle
Same Step for Dry Runs and to Distribute
In this example, the same step is used for both dry runs and to distribute the release bundle to Edge Nodes. The dry_run variable may be set in the pipeline configuration section or step configuration or added as a run variable by an earlier step in the pipeline using add_run_variable.
DistributeReleaseBundle
pipelines:
- name: distributeReleaseBundlePipeline
steps:
- name: distributeReleaseBundleStep
type: DistributeReleaseBundle
configuration:
dryRun: ${dry_run}
inputResources:
- name: myReleaseBundle
- name: myInputDistributionRule